|Subject:||Re: Sending text data WriteLn|
|Posted by:||Remy Lebeau (TeamB) (firstname.lastname@example.org)|
|Date:||Tue, 29 Jun 2004|
"Alexander Telegin" <sitemast…@NOSPAMgmx.li> 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
> 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?
Sending text data WriteLn posted by Alexander Telegin on Tue, 29 Jun 2004