We help IT Professionals succeed at work.

Sendmail issue: collect: premature EOM :collect: I/O error on connection

We are having an issue with Sendmail that only started today.

I have a server that generates reports from a SQL database, and these reports are then issued via Sendmail as attachments.

The reporting server and the Sendmail server are located in different sites.

I started to get the following errror messgaes logged in Sendmail today.

collect: premature EOM: Connection reset by xxxx
SYSERR(root): collect: I/O error on connection from xxxx

We have done the following to troubleshoot.

1. Re-send the mail - same problem.
2. Check MTU settings on all devices - 1500
3. Send a mail from the reporting server with a small attachment - works with no problem.
4. Send the original mail and attachment from a server at the same site as Sendmail - same problem.

I am guessing that this issue is realted to the size of the attachment, which is 14.5Mb. This attachment is produced monthly and has gradually increased in size and it seems to have tripped some kind of threshold which results in this error, as the only thing that generates the error every time regardless of where it is sent from is a mail with the 14.5Mb attachment.

Can anyone help with this ? I assume that the issue is related to the config of Sendmail itself as we seem to have ruled out issues based on cross-site traffic and/or MTU mismatch.

TIA
Comment
Watch Question

Kent WSr. Network / Systems Admin
CERTIFIED EXPERT

Commented:
MTU issues are the most common cause of the premature EOM.

Here are some steps to check -

http://anthony.zerosandones.co.uk/node/451
CERTIFIED EXPERT
Commented:
You have to figure that the 14.5mb attachment probably equates to about 20MB after the overhead of MIME encoding.

So my question to you, if you do a straight FTP or scp from the client to the target MTA, how many seconds does it take to transfer?  What is average ping times and packet loss between the two servers?

My concern is that network latency or packet loss could be causing you to exceed the max time allotted possibly on the sending side.  The server side has a few variables that you could possibly be exceeding:

O Timeout.connect=1m
O Timeout.command=5m

However sendmail is usually pretty verbose about giving good errors.  So if a client times out (or just doesn't respond) you are more likely to see the premature EOM errors.

BTW, if it is a latency thing, then you might consider handing the mail off to a relay on the network of the sending computer, which can then at its leisure deliver the message to your mail server.

Author

Commented:
The issue is realted to the size of the mail. A slightly smaller mail can be sent with no issues.