Please note the attached E-mail below from when I first brought up this topic.

Here's the issue.  Between various products not being able to understand 552 errors when they are sent during a DATA transmission, and IMail not fully supporting RFC 1870 (SMTP Service Extension for Message Size Declaration), this is causing repeated retransmission of massively large E-mails.  I have tried many different tricks between three different products in order to try to get this to work without issues and none of the workarounds will work.  The primary issues are with IMail however, and this glaring oversight.

RFC 1870 establishes that not only should a server using EHLO state the SIZE property as being supported, but it should also append the SIZE property to the MAIL FROM command when making a connection like so:

    MAIL FROM:<[EMAIL PROTECTED]>+SIZE=15079

IMail doesn't do this.  The result is that despite the fact that a receiving server supports EHLO and advertises a size limit, and would respond appropriately to the above command with an immediate 552 error causing the E-mail to be bounced without wasting bandwidth, IMail just sends the E-mail regardless of size, and it will miss the 552 error unless the receiving server waits for the entire message to be sent, even if it is over it's size limit.  Issues with missing the 552 error are not uncommon at all, in fact it is clear that both MS SMTP/Exchange as well as SmarterMail will send the 552 error back during the transmission of DATA, and IMail misses this.  So what happens then?  IMail requeues the message and attempts to deliver it over and over and over again until your queue retry limit is reached.  A single 50 MB message set to retry every 30 minutes for 48 hours would take up 4.8 GB of bandwidth when stuck in this retry loop.  I pay for bandwidth like most of us, and this can be very expensive, especially when this becomes an almost daily occurrence for a server like mine.

I have tried to block this at my gateway using an RFC 1870 compliant server, MS SMTP, however there are other servers out there that don't support EHLO, and don't understand an intra-DATA 552 error, and they will stick themselves in a loop.  The only way to handle this properly seems to be within my own network, but I can't get every part of it to work due to non-compliance.  In this case, it appears that IMail is what is non-compliant in regard to not supporting the SIZE property, and also in not understanding the intra-DATA 552 errors.

Is Ipswitch going to fix this?

Matt





Matt wrote:
While looking into why my outbound bandwidth was spiking every 15 minutes I found that there was a 40 MB message in the spool that was responsible for this.  It was being resent every 15 minutes and taking up gobs of bandwidth.

The server that it was sending to supports EHLO, in fact it is also my own server.  Here's what the session states after an EHLO command:
EHLO mail.mailpure.com
250-heimdall Hello [66.109.52.12]
250-SIZE 20971520
250-AUTH LOGIN CRAM-MD5
250 OK
My understanding of ESMTP is that if the message is more than 20,971,520 bytes as indicated in the SIZE response, then it should not be sent.  This message was more than 41,874,785 bytes and it was sent regardless.  Not such a big deal on it's own, but IMail never figures out that the message is oversized even after sending it, and it therefore just requeues the message and tries sending it until your server's retry limit has been reached.  I had also verified the same thing a few weeks ago with yet another server (running MS SMTP) where IMail would use EHLO but ignore the size limit and send regardless.  Here's the IMail log snippet.
20050810 121146 127.0.0.1       SMTP (2725dc7000feb357) processing F:\\Q2725dc7000feb357.SMD
20050810 121146 127.0.0.1       SMTP (2725dc7000feb357) Trying recip.example.com (0)
20050810 121146 127.0.0.1       SMTP (2725dc7000feb357) Connect recip.example.com [66.109.52.200:25] (1)
20050810 121146 127.0.0.1       SMTP (2725dc7000feb357) 220 mail.mailpure.com
20050810 121146 127.0.0.1       SMTP (2725dc7000feb357) >EHLO mail.mailpure.com
20050810 121147 127.0.0.1       SMTP (2725dc7000feb357) 250-heimdall Hello [66.109.52.12]
20050810 121147 127.0.0.1       SMTP (2725dc7000feb357) 250-SIZE 20971520
20050810 121147 127.0.0.1       SMTP (2725dc7000feb357) 250-AUTH LOGIN CRAM-MD5
20050810 121147 127.0.0.1       SMTP (2725dc7000feb357) 250 OK
20050810 121147 127.0.0.1       SMTP (2725dc7000feb357) >MAIL FROM:<[EMAIL PROTECTED]>
20050810 121147 127.0.0.1       SMTP (2725dc7000feb357) 250 OK <[EMAIL PROTECTED]> Sender ok
20050810 121147 127.0.0.1       SMTP (2725dc7000feb357) >RCPT To:<[EMAIL PROTECTED]>
20050810 121147 127.0.0.1       SMTP (2725dc7000feb357) 250 OK <[EMAIL PROTECTED]> Recipient ok
20050810 121147 127.0.0.1       SMTP (2725dc7000feb357) >DATA
20050810 121147 127.0.0.1       SMTP (2725dc7000feb357) 354 Start mail input; end with <CRLF>.<CRLF>
20050810 121156 127.0.0.1       SMTP (2725dc7000feb357) >.
20050810 121156 127.0.0.1       SMTP (2725dc7000feb357) rl-recv: connection reset
20050810 121156 127.0.0.1       SMTP (2725dc7000feb357)
20050810 121156 127.0.0.1       SMTP (2725dc7000feb357) SMTP_DELIV_FAILED
20050810 121156 127.0.0.1       SMTP (2725dc7000feb357) >QUIT
20050810 121156 127.0.0.1       SMTP (2725dc7000feb357) rl-recv: connection reset
20050810 121156 127.0.0.1       SMTP (2725dc7000feb357)
20050810 121156 127.0.0.1       SMTP (2725dc7000feb357) requeuing F:\\Q2725dc7000feb357.SMD R0 T1
20050810 121156 127.0.0.1       SMTP (2725dc7000feb357) finished F:\\Q2725dc7000feb357.SMD status=3
So what is going on here?  Is IMail broken?

This issue can cause major problems as MS SMTP (used by Exchange servers) has an issue where it will return a 552 error in the middle of the DATA command instead of waiting for it to finish the transmission, and some server's don't know to listen for one in the middle of a transfer.  So if a server is going to send oversized messages, it can cause big bandwidth problems when they are tried over and over again.

FYI, I am using 8.15 HF1 currently.

Matt







Reply via email to