Maintaining a whitelist

Gustav Foseid
Mon Jul 23 07:24:27 UTC 2001

Vernon Schryver:
> Why would those recipients who didn't get the message because they
> consider it spam by virtue of not being in the white list want a
> delivery failure message?

You did not understand what I meant.

> It is possible to reject individual SMTP envelope Rcpt_To values, but
> the DCC cannot know it should tell sendmail to reject the message
> until after the body has been received as part of the DATA command.
> Sendmail can only say to the SMTP client "yes, your DATA command was
> ok" or "no, it was bogus."  That single result code applies to the
> entire SMTP transaction and all recipients corresponding to Rcpt_to
> commands not previously rejected (in this case all of them).

Think of the way a secondary MX or Qmail does this. If you deliver mail to
a secondary MX it will be accepted for delivery if the domain used in the
RCPT command is correct. If it later turns out that the message could not
be delivered to one or more of the recipients, it will send a bounce

Qmail works the same way even for local delivery. If you send a message to
"DoesNotExist@QmailControlled.domain" you will receive a bounce message
from Qmail at the remote end. The message will be accepted at SMTP level
and a bounce message will be delivered by Qmail.

You could do the same way with dccm. Since it is to late to reject one
recipient after 250 is given as response to the RCPT command you can, as
you said, reject or accept the entire message for all recipients. Accepting
the message, however, is not the same as guaranteeing delivery to all
recipients. You can still bounce the message, but it is your
responsibility, not the responsibility of the remote system.

You can build a list of the recipients as you receive the RCPT to commands.
After the DATA command you can either reject the message, if none of the
recipients should receive the message, or accept it, if all or some of the
reciepients should get the message. After the message is accepted, a bounce
message for the recipients that did not receive the message should be sent
(this would have to be done by dccm).

I do not know if this is possible with milter.

Gustav Foseid, Initio IT-løsninger AS

More information about the DCC mailing list

Contact by mail or use the form.