Great Problem with Indy SMTPServer

Giganews Newsgroups
Subject: Great Problem with Indy SMTPServer
Posted by:  Master Surfer (mastersurfer…@web.de)
Date: Sat, 10 Sep 2005

Hello,

I'm using Indy 10.0.76 in D7.
I've tried to use the SMTPServer sample found on the IndyProject page.

So now another SMTP Server wants to send me an email. The events
OnMailFrom and On MailRCPTTo are fired and both accepted (Action :=
mAccept and rAddressOk). Now OnReceived is fired, but in IDE I get an
exception (Socket error 11004) in the procedure
"TIdSMTPServer.CommandDATA" in the following line:

// start snippet
        ReceivedString := StringReplace(ReceivedString, '$hostname',
GStack.HostByAddress(ASender.Context.Binding.PeerIP), [rfReplaceall]);
{do not localize}

//end snippet

Because of this exception the event "OnMsgReceive" is not fired, so i
can't receive the message.

Now i've captured the port traffic.
Here's a small but interessting part:

This is the end of data packets with header and so on.
Here's the end of the message now the other server should send
[crlf].[crlf] to tell me that the message is completely transfered.

6F 74 2E 0D 0A 68 74 74-70 3A 2F 2F 77 77 77 2E  ot...http://www.
61 72 63 6F 72 2E 64 65-2F 72 64 2F 65 6D 66 2D  arcor.de/rd/emf-
67 61 6D 69 6E 67 2D 31-0D 0A                    gaming-1..

//dec:            13 10 (=crlf)

Next packet:
    2E 0D-0A 00 00 00              ......

//dec:    46 13 10 (=point and crlf)

My suspicion is, if the [crlf].[crlf] is sent in two packets indy can't
handle it.
Have you any idea want i did wrong or how I can fix the bug or problem!?

Thanks for your help.

Replies