Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#37 Thunderbird can't open attached EML files

open
nobody
None
5
2012-10-25
2012-10-25
Marco Ceca
No

Hi.
Using Blat 3.0.7 on Win7 x64.
If I send an email attaching an .eml file (-attach option) I can't open the attachment from TB (this attachment looks empty).
I fount the problem was that TB cannot understand the "Content-Transfer-Encoding: BASE64" because it is upper-case.
Changing it to lower case solves the problem and lower case should be the standard (even if it shouldn't be case sensitive).
There is a post about it on moz forums:
http://forums.mozillazine.org/viewtopic.php?f=39&t=2059895

Could you please change it to lower case?

Discussion

  • Chip
    Chip
    2012-10-25

    RFC 2110 (http://www.ietf.org/rfc/rfc2110.txt) section 9 Examples shows the following:

    --boundary-example-1
    Content-Location:
    http://www.ietf.cnri.reston.va.us/images/ietflogo.gif
    Content-Type: IMAGE/GIF
    Content-Transfer-Encoding: BASE64

    R0lGODlhGAGgAPEAAP/////ZRaCgoAAAACH+PUNvcHlyaWdodCAoQykgMTk5
    NSBJRVRGLiBVbmF1dGhvcml6ZWQgZHVwbGljYXRpb24gcHJvaGliaXRlZC4A
    etc...

    --boundary-example-1--

    RFC 2045 (http://www.ietf.org/rfc/rfc2045.txt) specifically writes:

    6.1. Content-Transfer-Encoding Syntax

    The Content-Transfer-Encoding field's value is a single token
    specifying the type of encoding, as enumerated below. Formally:

    encoding := "Content-Transfer-Encoding" ":" mechanism

    mechanism := "7bit" / "8bit" / "binary" /
    "quoted-printable" / "base64" /
    ietf-token / x-token

    These values are not case sensitive -- Base64 and BASE64 and bAsE64
    are all equivalent.

    If Thunderbird cannot handle capitalized BASE64, then that is a bug in Thunderbird. I can change it back to lowercase, but the real problem is not with Blat, but rather with Thunderbird for not being RFC compliant.

    Chip

     
  • Marco Ceca
    Marco Ceca
    2012-10-25

    Yes, I completely agree with you.
    I just don't know if TB will ever fix this or how long will it take...
    Anyway thank you for the fast reply and, if you're planning to change that, for the time you're spending on it.

     
  • Chip
    Chip
    2012-10-25

    I think I found the problem in Thunderbird source. I downloaded the source for version 17.0b1, and found a bug in mimei.cpp located in mailnews\mime\src. Line 885 uses EqualsLiteral() when it should be using LowerCaseEqualsLiteral(). It appears that all other references to ENCODING_BASE64 do case insensitive compares, as expected. This was the only reference I could find that does an exact case sensitive compare. The same problem line exists in version 16.0.

    Hopefully, the Thunderbird developers will see my posting on mozillazine.org and fix the source.