[Top] [All Lists]

Re: acceptings partically a message (2)

2007-07-17 08:49:23

Dilyan Palauzov wrote:
>   Does anybody see any disadvantages of ending the session
>     EHLO
>     250 OK
>     MAIL FROM:<spammer(_at_)example(_dot_)com>
>     250 OK
>     RCPT TO:<spamtrap(_at_)example(_dot_)org>
>     250 OK
>     RCPT TO:<mailing-list(_at_)example(_dot_)org>
>     250 OK
>     DATA
>     354 OK
>     That is all.
>     .
> with
>   550 Mail rejected by mailing-list(_at_)example(_dot_)org
> which implies, that the mail was accepted by all but
> mailing-list(_at_)example(_dot_)org?

Sure, it changes all kinds of ideas about delivery success, status, etc.

Keep in mind that SMTP servers do not read the "Literal" part, just the response codes to have any real meaning. The literal is just for LOGGING. It has NO (expected) AUTOMATION concept behind it

550 means the Transaction was permanently rejected and as far as the SMTP server is concern, none of the recipients are going to be receiving the mail.

Whatever you really do on your own end, thats your business, but its not a standard expectation and we can't be working on this basis. A 550 at DATA means none of the RCPT users are expectd to be receiving the mail and as far as the SENDER is concern it was a FAILED DELIVERY attempt.

If you want to REJECT a recipient but continue with others, then you should be using a 45x for the RCPT:

    250 OK
    MAIL FROM:<anyone(_at_)example(_dot_)com>
    250 OK
    RCPT TO:<user1(_at_)example(_dot_)org>
    250 OK
    RCPT TO:<user2(_at_)example(_dot_)org>
    45x or 55x Sorry User doesn't exit
    RCPT TO:<user3(_at_)example(_dot_)org>
    250 OK
    354 OK
    [email block]

Do not assume the client is going to stop at the first 45x or 55x response. He MAY continue with the next RCPT. If a 55x was used, the specs simply says not to try again with the same information. If the clients want to stop, thats up it want it trying to send. If the RCPT list is exhausted, it might stop. But if it got atleast 1 250 for RCPT, it may continue to DATA.

> How many evelopes I receive do have more than one recipient? Well,
> except the spam almost nothing. But imagine a mailing list that
> has 1000 subcribers. 10 mails for sure will go for the same domain,
> so for that 10 subscribers giving a temporary error after the
> second RCPT would lead to huge delays (<=> grey listing).

If you are greylisting, in my opinion, it needs to be for the ENTIRE transaction, not just individuals. I doubt it will work right and again your end can do what it wants, but you won't be able to change the SENDER behavior who is designed to work with a standard expected behavior. If you send a 45x at the DATA, then the entire transaction MAY be tried again. A 55x will not be tried again - period.

However, if you do it at the RCPT, you **MIGHT** get a sender to filter its RCPT in future transactions.


Hector Santos, CTO

<Prev in Thread] Current Thread [Next in Thread>