At 6:00 PM -0400 on 8/5/08, Hector Santos wrote about Re: retry question:
In fact, I believe some MUAs will not even continue with the DATA
until all same session RCPT are positively resolved. I have to
double check if this was because of 5yx responses only, but under
ThunderBird if I tried to send to my server which checks for local
valid recipients, an address among a few that is invalid, it will
not continue sending it until it is fixed or removed from the TO:,
CC:, BC: address list.
In my opinion a much better strategy is to first build the RCPT-TO
list, then run the list by sending the RCPT-TOs and flagging the list
entries to show if the RCPT-TO was accepted or rejected, send the
message to those that were accepted and when the message is accepted
flag the entry as SENT. At this point, you then flag the message as
sent (and delete the list) or if there were any rejects at RCPT-TO
time, requeue for a later attempt after deleting the SENT flagged
entries (at which point the list is seen to be already in existence
and is then just used as in the original pass). The net result is
that the message is originally sent to all addresses that are able to
receive it and all subsequent attempts ONLY attempt to send to those
addresses that were rejects during prior attempts.