|Subject:||Is that a bug of Indy STMP server ?|
|Posted by:||MCH (mchaku…@21cn.com)|
|Date:||Mon, 12 Jan 2004|
I am writing a mail server and client with Indy 9. I found something
wrong but I am not sure if it's bug of Indy.
I have a TIdSMTPServer bind at localhost:625 and also have a TIdSMTP to
send mail. I sent a mail to the local TIdSMTPServer with a mail client
software. In the mail, there is an attachment and some texts.
While the local SMTP server receive the mail, I resend it to the real
destination (in this case, destination=source) with TIdSMTP. After that, I
check mail with the mail client and get an incorrect email. The attachment
can be retrieved but all the text information gone. If I change the
charset (the original one is 7bits en), I found that the text information
as well as some meaningless one are got but the attachment gone !!!
How come does the TIdSMTPServer change the content? Note that an
attachment can be encoded in several ways(Base64, BinHex, uuencode, etc.),
I almost try all of them to encode the mail and redo the experiment again.
I found that when I use uuencode , everything is all right. What's going
on? If indy don't support Base64 encoding.
Here is my source of testing the TIdSMTPServer and TIdSMTP
procedure TestForm.SMTPServerReceiveMessageParsed(ASender: TIdCommand;
var AMsg: TIdMessage; RCPT: TIdEMailAddressList;
var CustomError: String);
Self.SMTP.Connect(); // SMTP is TIdSMTP