Harald Wolf writes:

In rcptfilter I end with EXITCODE 99  and in most cases smtpfilter starts.

 

But: if there is as mail with almost one local hosted mailaddress and one on another mailserver I always got

You are whitelisted by this recipient … Please try again later OR

You are whitelisted by this recipient … Please try again later

 

and smtpfilter wasn’t started.

… on the first mail delivery attempt.

The "You are whitelisted" message is a temporary 4xx, not a permanent 5xx error. The sending mail server will try again later; and mail delivery will succeed on the second try.

The message depends if the first recipient is a local or a remote address.

I googled around for a couple of days and I think the problem is in submit.c

This is working correctly. If an smtpfilter rejects a message, this results in an error response to the SMTP DATA command. An error response to the SMTP DATA command technically means that the message could not be delivered to all of its recipients. So, if one recipient installed an smtpfilter, and the other did not, and the smtpfilter rejected the message, the resulting error indicates, basically, the mail to both of them failed.

For this reason, when there are multiple recipients, if the first recipient has an smtpfilter, the subsequent recipients should also have an smtpfilter, and those without get a temporary fail. The opposite is true; if the first recipient does not, only the remaining recipients without an smtpfilter get accepted, and the ones with an smtpfilter get a temporary fail. Mail servers that implement SMTP correctly will, at some point later, try again using the remaining recipients.

This has the effect of dividing a message with multiple recipients into two parts, the recipients with and without smtpfilters; with a separate delivery attempt for each part.

Of course, the problem with the SMTP DATA errors is still true. If a recipient's smtpfilter rejects the message, the resulting error technically means that mail to all other recipients got rejected. By enabling smtpfilter, a recipient accepts being impacted by other recipients' smtpfilter. However, Courier documents the format of its SMTP DATA errors from smtpfilter filters; and will correctly handle an SMTP DATA error from other Courier servers, and send a non-delivery report only for those recipients that failed.



Attachment: pgpGZYu4Ez3eL.pgp
Description: PGP signature

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
courier-users mailing list
courier-users@lists.sourceforge.net
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to