From: william(_at_)elan(_dot_)net
Based on my tests less then half of mail servers will accept 500 error
after data command (those are mostly the ones that support limits on size
of emails - SIZE ESMTP extension I believe).
I'd like to believe that you've only hit bad patch of SMTP clients.
I think sendmail has done the right thing with a 5yz response to DATA
for eons. Many major SMTP clients that used to ignore 5yz responses
to DATA commands such as Hotmail's now do the right thing.
The trick that has been used
is to issue RSET command to reset the session to beginning (which is more
widely accepted) even at DATA and then bounce with 500 or to simply
disconnect (before end of transmission, which would cause calling email
server to try again).
Who uses that tactic? Many of the many sendmmail Milter filters
don't but do use simple 5yz responses to Data comamnds.
. But that you can't easily bounce email and filter
during DATA transmission is very unfortunate and puts many email filters
in the position of returning unwanted email (to FROM command, which is
often invalid and thus wasting servers resources) instead of bouncing it
at the transmission.
I don't understand that. If your SMTP server says 5yz to the STMP
client and incorrectly assumes that client is not junk, then it won't
know that no bouce was generated. That no bounce is generated in this
case is no more the responsibility of the rejecting SMTP server than
any other bug that causes the other machine to fail to generate a
bounce when it should.
My review of solutions shows that most would require additions to SMTP
such that email server can not make a decision after RCPT and TO command
and only can do it either after all headers are received or after main
body of email is received. What I really would like is ability for
receiving mail server to get data or parts of it (particular header,
mime structure of the email, particular mime object) out of band before
making final decision on accepting or rejecting entire email.
...
Again, why do that when the protocol already includes sufficient
provisions for examining headers or data before making a final decision?
What SMTP lacks is a way to say in response to the DATA command "reject
for the 1st recipeint, accept for the 2nd, and temp-fail for the 3rd."
To the DATA command ou can only say accept, reject, or temp-fail for
all recipients togehter.
Vernon Schryver vjs(_at_)rhyolite(_dot_)com
_______________________________________________
Asrg mailing list
Asrg(_at_)ietf(_dot_)org
https://www1.ietf.org/mailman/listinfo/asrg