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?
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
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.
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.