Enrique,
From your logs I believe what you call the front end server is where SpamFilter forwards its emails to. If that is the case, the front end Exchange server is the one that is rejecting the entire message if one of the recipients is incorrect. Furthermore, it does not reject the recipient right away when the RCPT TO command is issued, but rather only at the end of the SMTP session, when the email has been transmitted. To make matters worse, the front end server is not specifying which email address is incorrect - it simply rejects the entire message.
Please note that from your logs I can confirm what I mentioned in the forum - the behavior does not change depending on whether the invalid email address is specified in the CC or in the TO headers - the SMTP session is the same and the front end server rejects it in the same way.
These are the transcripts of what happens to an email sent to eca...@...com.mx and invalid@......com.mx to your front end server at ...........com.mx. The first session is with invalid@.....com.mx entered in the TO field, the second session with invalid@.....com.mx entered as a CC. As you can see, your front end server accepts both recipients without any errors, and at the end it rejects the entire message with a "550 5.1.1 User unknown" without specifying what is the incorrect user:
220 ........com.mx Microsoft ESMTP MAIL Service ready at Mon, 2 Nov 2015 19:43:36 -0600 EHLO cmct...... 250-k..............i.com.mx Hello [] 250-SIZE 10000000 250-AUTH NTLM 250-8BITMIME 250 OK MAIL FROM:<roberto@test.logsat.com> 250 2.1.0 Sender OK RCPT TO:<eeca...@...com.mx> 250 2.1.5 Recipient OK RCPT TO:<invalid@.....com.mx> 250 2.1.5 Recipient OK DATA 354 Start mail input; end with <CRLF>.<CRLF> From: roberto@test.logsat.com To: eca...@...com.mx, invalid@.....com.mx Subject: Test with 2 TOs from LogSat - please ignore Date: Mon, 2 Nov 2015 18:50:39 -0600 Content-Type: text/html;charset="ISO-8859-1";
test please ignore . QUIT 550 5.1.1 User unknown
220 .........com.mx Microsoft ESMTP MAIL Service ready at Mon, 2 Nov 2015 19:38:07 -0600 EHLO cm.... 250-......om.mx Hello [] 250-SIZE 10000000 250-AUTH NTLM 250-8BITMIME 250 OK MAIL FROM:<roberto@test.logsat.com> 250 2.1.0 Sender OK RCPT TO:<eca...@...com.mx> 250 2.1.5 Recipient OK RCPT TO:<invalid@.....com.mx> 250 2.1.5 Recipient OK DATA 354 Start mail input; end with <CRLF>.<CRLF> From: roberto@test.logsat.com To: eca...@...com.mx CC: invalid@.....com.mx Subject: Test from LogSat - please ignore Date: Mon, 2 Nov 2015 18:48:39 -0600 Content-Type: text/html;charset="ISO-8859-1";
test please ignore . QUIT 550 5.1.1 User unknown
As this error occurs *after* the recipients are send and accepted, SpamFilter must (per RFC) assume that the email is not delivered, and at this point SpamFilter does need to send an NDR bounce email back to the sender. Here is another problem however - SpamFilter never sends an NDR directly out to the internet, but rather it forwards the NDR to your destination SMTP server for delivery. In this case, the NDR is send to ..........com.mx, which however does not allow SpamFilter to open relay, so it does not deliver the NDR. You must ensure that your front end server whitelists SpamFilter so that the NDRs can be sent.
Please note that if your front end server had rejected a recipient during the RCPT TO command, then SpamFilter would have known it was an invalid user as I mentioned in the forum, and it would not need to send an NDR since it would instead reject the email specifying in the 550 error code which email address had the problem.
Also please note that I see from your backend server logs that the front end server is forwarding the email to the backend server even though it's reporting the email as being rejected to SpamFilter. This is very confusing as it causes emails to be delivered even though the front end server is reporting to having rejected them as a whole.
I hope this helps a bit in understanding how the email flows and that your front end server should be configured differently.
To summarize, these are the problems with that front end server: 1. It must whitelist SpamFilter so that NDRs can be delivered 2. It should reject invalid email addresses when the RCPT TO command is used to specify a recipient, not at the end of the email. 3. If it cannot be configured as in #2 above, it must at least specify in the 550 error message which email address was not deliverable so this can be reported back to the sender. Otherwise the error will be interpreted as "your email was not delivered to ANY of the recipients".
------------- Roberto Franceschetti
http://www.logsat.com" rel="nofollow - LogSat Software
http://www.logsat.com/sfi-spam-filter.asp" rel="nofollow - Spam Filter ISP
|