Skip to Main Content

Application Development Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Server silently fails on messages with a huge To: header; any ideas?

jimklimovDec 4 2008 — edited Feb 7 2020
Our incoming relay (sendmail) occasionally receives messages which were sent to many recipients
(sometimes it's spam, sometimes valid maillists to which our users have subscribed). The messages
in question have a To: header which is typically over 6kb in size and over 80 lines long (and since
several recipients with short names/addresses may be grouped on one line, there's about a hundred
recipients listed).

It fails trying to relay these messages to our backend Sun Messaging Server (6.3-6.0.3 x64), and it
fails silently. I am not definitely sure that this is SMS's flaw and not Sendmails; but perhaps someone
can shed light on the matter? :)

SMS's mail.log_current receives such entries (here xxx.xxx.xxx.100 is the relay, xxx.xxx.xxx.73
is the backend server):
04-Dec-2008 16:54:44.62 tcp_local    +            O TCP|xxx.xxx.xxx.73|25|xxx.xxx.xxx.100|33728 SMTP
...
04-Dec-2008 16:59:44.62 tcp_intranet ims-ms       VE 0 listaddr@listdomain.com rfc822;ouruser@domain.ru ouruser@ims-ms-daemon relay.domain.ru ([xxx.xxx.xxx.100]) '' Timeout after 5 minutes trying to read SMTP packet
04-Dec-2008 16:59:44.62 tcp_local    +            C TCP|xxx.xxx.xxx.73|25|xxx.xxx.xxx.100|33728 SMTP Timeout
 after 5 minutes trying to read SMTP packet
Sendmail logs a broken connection:
Dec  4 17:01:27 relay sendmail[14689]: [ID 801593 mail.crit] mB47gCN4014672: SYSERR(root): timeout writing message to sunmail.domain.ru.: Broken pipe
Dec  4 17:01:27 relay sendmail[14689]: [ID 801593 mail.info] mB47gCN4014672: to=<ouruser@domain.ru>, delay=00:07:01, xdelay=00:06:58, mailer=esmtp, pri=329059, relay=sunmail.domain.ru. [xxx.xxx.xxx.73], dsn=4.0.0, stat=Deferred
Sniffing the wire gives strange results: The SMTP dialog part seems okay, the message is submitted
(relayed) only for our local user's address. But the message is not transferred until sendmail dies.
When the sendmail process dies (due to timeout or by a manual kill), about 3 packets appear in the
sniffer's output, starting with the usual "Received: from" lines and other header parts. The last packet
has text from the middle of the To: header, often breaking mid-word. Perhaps it's some buffering error
in either the sending Sendmail or the receiving Sunmail, or some server TCP-networking/sniffer glitch.

If I manually edit the queue file (/var/spool/mqueue/qfmB47gCN4014672 for the sample above) and delete
most of the To: header's lines, the message goes through okay.

This just does not seem logical - the message header text seems to be compliant (that is, each single
line is short, although all sub-lines of To: concatenate to a rather large text; but not that extremely large).
Neither sendmail nor sun mail report any error except networking socket failure.

MTUs are the same on both servers (1500), and any other large message (i.e. with attachments),
relays okay.

Are there any known issues on Sun Messaging Server (or Sendmail for that matter) which look like
this and ring a bell to a casual reader? :) Perhaps Sieve filters, etc.?

Since sendmail does successfully receive this message from the internet, and none of our several
incoming milters break along the way, I don't think it should have a huge problem forwarding it to
another server (I'll try experimenting though). This is why I think it's possible that Sun mail may be
at fault.

# imsimta version
Sun Java(tm) System Messaging Server 6.3-6.03 (built Mar 14 2008; 64bit)
libimta.so 6.3-6.03 (built 17:15:08, Mar 14 2008; 64bit)
SunOS sunmail 5.10 Generic_127112-07 i86pc i386 i86pc
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 2 2009
Added on Dec 4 2008
5 comments
867 views