Quoting Antoine Nguyen <[email protected]>:

I'm working on a web based software that provides a simple webmail (
http://modoboa.org/). I'm wondering what would an efficient way to detect if
a message (or a group of messages) has attachments. I know it certainly
consists in checking for specific MIME constructions but how to achieve that
without fetching the whole body for each message?

You should only need the structure for each message, which you can get with BODYSTRUCTURE command.

But beware that determination of what is an "attachment" is not so straight-forward. The Content-Disposition header (RFC 2183), if it even exists, is often not useful.

Take these examples:

* Message with a single application/pdf part. Is this an attachment? Many users would say yes. But what if Content-Disposition does exist and is set to 'inline'.

* multipart/mixed part, with a single text/plain child part. This is most likely not an attachment, at least by an end user definition, and shows that you can't just search for 'multipart' in the Content-Type field.

* multipart/related part with two embedded parts, text and HTML. Again, most likely users would not expect this to be an attachment.

* multipart/related part with two embedded parts, one text and one PDF. If PDF can't be displayed in the MUA, should it be considered an attachment, even though it lives in a multipart/related part? (e.g. the text part is intended to be displayed as a quick view of the PDF, but loses all of the formatting contained in the PDF.)

And so on.

michael

Reply via email to