Eteocles / incredimail-converter-reynardware

Automatically exported from code.google.com/p/incredimail-converter-reynardware
0 stars 0 forks source link

Attachment encoding type can be incorrect. #17

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Convert an email with a text attachment. I'm not sure how you generate such 
an email, but the IncrediMail message store I'm working with has many of these. 
Some attachments are PDF files, other are straight text. I believe the 
originating email client was MS Outlook 11 (probably Office 2003).
2.
3.

What is the expected output? What do you see instead?
.eml file with base64 encoded attachment, and Content-Transfer-Encoding: base64
or
.eml file with unencoded attachment, and Content-Transfer-Encoding: 
quoted-printable

Attachments are always base64 encoded, however the original email attachment 
may have used a different encoding type. The content encoding tag is not 
updated.

Extract from .eml file saved by IncrediMail

------=_NextPart_000_0328_01CCDFFF.AE91B160
Content-Type: application/pdf;
    name="einv29180003_01312012_270586.pdf"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
    filename="einv29180003_01312012_270586.pdf"

%PDF-1.3=0A1 0 obj=0A<<=0D/Title (einv29180003_01312012_270586.pdf)=0D/Au=
thor (FACTOR, INC.)=0D/Creator  (PDFCreator Version)=0D/Producer (=A9 200=
3-2005 FACTOR, INC.)=0D/CreationDate (D:20120131100351+01'00')=0D>>=0Aend=

Extract from converted .eml file

------=_NextPart_000_0328_01CCDFFF.AE91B160
Content-Type: application/pdf;
    name="einv29180003_01312012_270586.pdf"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
    filename="einv29180003_01312012_270586.pdf"

JVBERi0xLjMKMSAwIG9iago8PA0vVGl0bGUgKGVpbnYyOTE4MDAwM18wMTMxMjAxMl8yNzA1
ODYucGRmKQ0vQXV0aG9yIChGQUNUT1IsIElOQy4pDS9DcmVhdG9yICAoUERGQ3JlYXRvciBW
ZXJzaW9uKQ0vUHJvZHVjZXIgKKkgMjAwMy0yMDA1IEZBQ1RPUiwgSU5DLikNL0NyZWF0aW9u

What version of the product are you using?
0.53

Please provide any additional information below.

I edited a converted .eml file and manually changed the encoding type to 
base64. The resulting file imported fine, and I was able to work with the 
attachment.

Error is in incredimail_convert.c, function insert_attachments()
Line 202 encodes the attachment file as base64. However, there is no code to 
change the Content-Transfer-Encoding type.
I suggest either checking the original encoding type, and not base64 encoding 
the attachment unless specified, or always changing the 
Content-Transfer-Encoding type to base64.

If I can set up a development environment, I may take a shot at fixing this 
myself.

Original issue reported on code.google.com by rblake...@gmail.com on 13 Feb 2012 at 10:31