KamoCRM

An attachment with a Content-ID is still an attachment

FixEmailService
Shipped
September 24, 2026 at 4:42 AM UTC
Author
Kamo
Commit
0de0823

A PDF sent from the Gmail app had a paperclip on its list row and no download link in the reading pane. The app stamps every attachment with a Content-ID, and the parser treated any Content-ID as inline -- "the body already paints this part" -- so the reading pane left it out of the attachment list while nothing in the (empty) body showed it either. A part is now inline only when the HTML body actually references it with a cid: URL, matched percent-decoded and case-insensitively, and decided once the whole body has been assembled. Also reports a base64 part's decoded size (57 bytes per 78-octet line) rather than IMAP's encoded octet count, which listed files a third too large and left download progress stalling near 73%.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing