[horde] Email attachments with special filenames
Jan Schneider
jan at horde.org
Mon Apr 17 10:32:18 UTC 2017
Zitat von Jens Wahnes <wahnes at uni-koeln.de>:
> Hi,
>
> today, I looked into the encoding employed by Horde to properly
> transmit the file name of attachments sent through Imp. We've had
> some users complaining about files they sent not being displayed
> properly at the recipient's side (which uses some non Horde email
> client). Horde uses RFC 2231 encoding where appropriate, which is
> good, of course, even though not every other mail client is able to
> handle RFC 2231 encoded file names properly.
>
> However, it seems to me that Horde is generating those RFC 2231
> headers incorrectly in some cases. Consider an attachment that has
> got a file name containing special non-ASCII characters, but the
> contents of the file are pure ASCII, i.e. "text/plain" as per MIME
> with no declaration of character set required. If such a file is
> attached, the file name is encoded according to RFC 2231 rules, but
> the charset of the encoded file name (given before the first single
> quote character in the encoded line) is set to "us-ascii", which is
> wrong.
>
> To make things clearer, here is an example of email headers
> generated by Horde in the case described before:
>
> ---
>
> Subject: File with strange filename but pure ASCII content is attached
> User-Agent: Horde Application Framework 5
> Content-Type: multipart/mixed; boundary="=_m5H-xgvB12M0GEygFUEQ7FY"
> MIME-Version: 1.0
>
> This message is in MIME format.
>
> --=_m5H-xgvB12M0GEygFUEQ7FY
> Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes
> Content-Disposition: inline
>
> This message has got an attachment that contains pure ASCII text, but
> the file name of the attachment is somewhat eccentric.
>
> --=_m5H-xgvB12M0GEygFUEQ7FY
> Content-Type: text/plain;
>
> name*0*=us-ascii''File%20with%20a%20long%20name%20co%F1ta%EFning%20str%E5ng;
> name*1*=e%20characters%20but%20pure%20ASCII%20content.txt
> Content-Disposition: attachment; size=27;
>
> filename*0*=us-ascii''File%20with%20a%20long%20name%20co%F1ta%EFning%20str;
> filename*1*=%E5nge%20characters%20but%20pure%20ASCII%20content.txt
>
> Hello Peter, how are you?
>
> --=_m5H-xgvB12M0GEygFUEQ7FY--
>
> ---
>
> I hope the above information is sent correctly, considering I'm
> trying to discuss MIME matters in an email using MIME. ;-)
>
> The name of the attached file should read "File with a long name
> coñtaïning strånge characters but pure ASCII content.txt".
>
> As you can see, the non-ASCII characters in the file name like "ñ"
> in the word "coñtaïning" are encoded in the "first" (number 0)
> "name" and "filename" lines with two hex chars (0xF1), or one byte
> (octet if you will). So the actual character set used is ISO-8859-1
> or similar, as opposed to the declared charset "us-ascii", which
> would not even contain the "ñ" character, as there is no character
> with hex code above 0x7F available in ASCII anyway.
>
> It seems that this only happens on attachments that have got pure
> ASCII content. When the attached file itself contains e.g. UTF-8
> characters and the file name contains non-ASCII characters too, the
> file name is encoded correctly, e.g. an "ñ" in the filename is
> represented by "%C3%B1" (two bytes in UTF-8) in that case and the
> charset declared is "utf-8".
>
> So, in conclusion, could it be that Horde is using the charset of
> the attachment's /content/ in the place where it should use the
> charset of the attachment's /filename/?
> If so, I'm not sure where a bug report should go. Is this an issue
> of Imp? Or of Horde_Mime? Or some other package I'm not even aware
> of?
>
> If you need more info to reproduce this, I'll be glad to provide it.
> The assessments above where made using Imp 6.2.18, Horde 5.2.14, and
> Horde_Mime 2.10.3.
>
> Thanks,
>
> Jens
This clearly sounds like a bug, and you should start reporting it to
the IMP queue. We can always categorize it differently later.
--
Jan Schneider
The Horde Project
https://www.horde.org/
More information about the horde
mailing list