indy 8 worked with Quoted-Printable but indy 9 does not...

Giganews Newsgroups
Subject: indy 8 worked with Quoted-Printable but indy 9 does not...
Posted by:  Ed Johnson (nospam@nospam.com)
Date: Fri, 17 Oct 2003

I was wondering if anyone knows of a bug fix for this. It seems that if an
email has

Content-Transfer-Encoding: Quoted-Printable
Content-Transfer-Encoding: base64

Within the main header for the email, and the email has no mime multi-parts,
the email text is not readable in the IdMessage.Body for Indy 9 although it
was readable in Indy 8.

The IdMessage.Body properly parses the text in Indy 9 with these settings or
the lack of this item listed below. It also works if there is no
"Content-Transfer-Encoding:" in the header at all.

Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 8bit
Content-Transfer-Encoding: unknown

The strange thing is that when the email has multiple parts,
Quoted-Printable text is readable in the TIdText sections of the
IdMessageParts - so apparently the Quoted-Printable decoder might work fine,
but it does not seem to kick in or work properly when the Quoted-Printable
is within the main header of the email.

In emails without multiple parts and in ones with multiple parts, I'm
thinking that Indy 9 might not parse out the IdText section of the
IdMessageParts - it's just blank - but I don't have an example to test.

I'd like to find out a way to fix this so that I'll be able to parse emails
from customers who send it from their email sender using Quoted-Printable or
base64.

Description of attached files:

The file "does not work - base64 non multipart.eml" is an email that has
"Content-Transfer-Encoding: base64" in the main email header with no
multiple parts to it - indy 9 does not parse out any text in
IdMessage-MessageParts->Body.

The file "does not work Quoted-Printable in main header.eml" is an email
that has "Content-Transfer-Encoding: Quoted-Printable" in the main email
header with no multiple parts to it - indy 9 does not parse out any text in
IdMessage-MessageParts->Body.

The file "works fine - has contenttransferencoding quoted-printable only
inside mime section - works fine.eml" is an email that has no
"Content-Transfer-Encoding" in the main email header, but does have
"Quoted-Printable" in the multi-part section of the email and it works fine
and parses out the text correctly.

The zip archive "test indy 9 email parsing in BCB6 code and exe.zip" has the
BCB 6 update 4 source code and exe that I'm using to test it. Just a quick
app I wrote to test it when I ran into problems that only parses emails and
puts them in memos.

I'd appreciate any fixes or ideas that anyone has on how to get around this
problem. The Quoted-Printable item seems the most prevalent, but the base64
is probably becoming more popular in the near future.

From: Ed Johnson

Replies