tags:

views:

3561

answers:

2

Our custom automatic email delivery service is hitting this problem with a couple of our clients' SMTP servers. It only happens with about three of them--the message is bounced back with the following response from the SMTP server:

SMTP error from remote mail server after end of data:
host clients.host.name [XXX.XXX.XXX.XXX]: 554 Message is not RFC compliant

Here's the email header generated by our custom application. Note that our own emails go through without any problems, but our application's don't.

Return-path: <[email protected]>
Received: from [XXX.XXX.XXX.XXX] (helo=our.stmp.server)
by clients.smtp.server with smtp (Exim 4.69)
(envelope-from <[email protected]>)
id 1LQNiv-0008MM-IM
for [email protected]; Fri, 23 Jan 2009 13:13:33 -0200
Subject: Test Mail
From: <[email protected]>
To: <[email protected]>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: ourCompany (ourcompanys.web.site)
Importance: Normal
Content-Type: multipart/mixed;
boundary="OURCOMPANYSsoftsmtp123X4560102897C"
X-Scan-Signature: e932e7231c8991cb29810b36327eaa17


--OURCOMPANYSsoftstmp123X4560102897C
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: base64

BASE64ENCODING

--OURCOMPANYSsoftstmp123X4560102897C--

Any ideas?

+2  A: 

There are no Message-ID or Date headers in the messages being generated by your program. That may be why they're getting rejected.

Also, strictly speaking SMTP requires that the lines are CRLF delimited. I can't tell whether that's what you've got or not.

Alnitak
Just to clarify: some mail servers will add Message-ID and/or Date headers if they're missing, but they should only do that on locally generated content, not content that's accepted from a different domain.
Paul Tomblin
sometimes the trick is spotting what's _not_ there :) To clarify, it's quite common for an MUA not to add those headers, so they're added by the first MTA. But that should never happen on MTA -> MTA connections.
Alnitak
+1  A: 

I don't see a Date: header either.

Joe
Alnitak mentioned that an hour before your post.
Paul Tomblin
AH, yes, somehow read right over that.
Joe