|Subject:||Re: tidsmtp keeps throwing error 10053|
|Posted by:||Ciaran Costelloe (ccostell…@flogas.ie)|
|Date:||Wed, 21 Jun 2006|
arthur hoornweg wrote:
> hello all,
> since a few days I have massive problems sending mail with Indy.
> I keep getting socket error 10053 haphazardly (Windows 2000, SP2).
> Any idea what might cause this?
I found what is causing the problem, but not necessarily how to tackle
it, from an Ethereal dump. Maybe 20% through the email, there is a
line with a period (a ".") on its own, and the server interprets this
as the end of the message, but TIdSMTP keeps sending the rest of the
message, and after a lot of confused packets forward and back, the
I _suspect_ that the problem is that Indy should be checking for lines
with a period and in that case transmitting an extra period when it is
sending unencoded messages (but this simple hack may not work, see
below), but to be really sure, I really need to check the MIME and
QuotedPrintable encodings in the RFCs to determine which is really
responsible for doing this.
For anyone who knows about emails, this may seem an obvious flaw, but
the reason is a bit more subtle. Indy cannot generate an email such as
the one you have with a period on its own, because the logic to deal
with this is in the encoders, so the issue never arises that way. Raw
emails that have a period on its own are also rare, which is why I
suspect this has not arisen before.
I need to read the RFCs, but I suspect a simple hack won't work (like
pulling this logic out of the encoders into TIdSMTP), because there is
a real risk of doubling-up the periods. Apart from TIdSMTP, changes
would potentially cause problems for TIdMessage.SaveToFile and then in
turn LoadFromFile and POP. Not an easy one.
tidsmtp keeps throwing error 10053 posted by arthur hoornweg on Fri, 16 Jun 2006