Re: Sending text data WriteLn

Giganews Newsgroups
Subject: Re: Sending text data WriteLn
Posted by:  Remy Lebeau (TeamB) (
Date: Tue, 29 Jun 2004

"Alexander Telegin" <sitemast…> wrote in message

> The dot is stripping somewhere inside WriteLn

Wrong.  WriteLn() does not strip anything.  It sends the specified text
as-is, just adding EOL to the end of it.

> why it's necessary to replace single dot with double dots

Because that is what RFC821 and other similar RFCs specifically say to do.
A single line containing only '.' is used as the end-of-message terminator.
So as to not confuse the receiver and accidentally terminate the message
early, any lines in the actual message content that begin with '.' need to
an extra '.' prefixed.  It is then the receiver's responsibility to look at
each received line and remove the prefixed '.' appropriately when processing
the message content.

> and can I avoid this by changing some sources lower WriteLn?

Why would you want to change it?  You would break Indy's RFC compliance by
doing that.

> I wouldn't like to split my string ABuffer on lines (some emails
> may exceed 5MB) and check first character for '.'.

Why are you sending email content manually instead of using a pre-made
component?  Email standards are not always trivial to implement, so why
re-invent the wheel?



In response to

Sending text data WriteLn posted by Alexander Telegin on Tue, 29 Jun 2004