Re: TIdSMTPServer: end input after DATA?

Giganews Newsgroups
Subject: Re: TIdSMTPServer: end input after DATA?
Posted by:  Remy Lebeau (TeamB) (gambit47.no.spam@no.spam.yahoo.com)
Date: Sun, 8 Feb 2004

"Marc Scherwinski" <spamrecycler@touchstone.de> wrote in message
news:kt3qk1zxrvsn$.d…@touchstone.de...

> RFC821 says that a dot entered on a line by itself ends the
> input after a DATA command (character sequence
> <CR><LF>.<CR><LF>)

That is true, and that is the actual case with TIdSMTPServer.

> but as shown in the example above TIdSMTPServer will
> not recognize the dot after 'LineThree' as the end of the
> DATA input, instead it requires an additional empty line to
> accept the message:

What do you have the ReceiveMode property set to exactly?  Your first
example will work just fine when the ReceiveMode is set to rmRaw.  If you
have it set to rmMessage or rmMessageParsed instead, then what you have
shown in your example is invalid to begin with.  When using rmMessage or
rmMessageParsed, TIdSMTPServer expects the message to be formatted according
to RFC 822, and as such there needs to be a blank line transmitted to
separate the message headers from the message content, ie:

    HELO test
    MAIL FROM: send…@domain.com
    RCPT TO: recipie…@domain.com
    DATA
    HeaderOne
    HeaderOne
    HeaderOne

    BodyOne
    BodyTwo
    BodyThree
    .

Gambit

Replies

In response to

TIdSMTPServer: end input after DATA? posted by Marc Scherwinski on Mon, 9 Feb 2004