Interaction between greylisting and persistent host status

Gary Mills mills@cc.UManitoba.CA
Wed Nov 19 14:44:28 UTC 2003


On Mon, Nov 17, 2003 at 09:03:26PM -0700, Vernon Schryver wrote:
> > From: Gary Mills <mills@cc.UManitoba.CA>
> 
> > 	dsn=4.2.2, stat=Deferred: 452 4.2.2 Over quota
> >
> > In that case, sendmail does not skip future delivery attempts.  However,
> > for my grey list test, sendmail logged:
> >
> > 	dsn=4.0.0, stat=Deferred: 451 4.7.1 mail hAGGQ9Bf002801 from 130.179.16.23 temporary greylist embargoed by DCC
> >
> > and did skip delivery attempts until the host status timed out.
> 
> I'd be glad to hear of better codes than 451/4.7.1

If I found the right piece of code, sendmail seems to have a special
case for the 452 response code.  This is from usersmtp.c:

	xstat = EX_NOTSTICKY;
	if (r == 452)
		rstat = EX_TEMPFAIL;
	else if (REPLYTYPE(r) == 4)
		rstat = xstat = EX_TEMPFAIL;
	...
	mci_setstat(mci, xstat, ENHSCN(enhsc, smtptodsn(r)),
		    SmtpReplyBuffer);

EX_NOTSTICKY means that the host state is not persistent.  This
section of code should perhaps include more of the 45z response codes,
any that refer to mailbox status rather than host status.  Here are
all of the defined codes in this range:

      421 <domain> Service not available, closing transmission channel
         (This may be a reply to any command if the service knows it
         must shut down)
      450 Requested mail action not taken: mailbox unavailable
         (e.g., mailbox busy)
      451 Requested action aborted: local error in processing
      452 Requested action not taken: insufficient system storage

Until sendmail is changed, 452 seems to be the only choice for DCC
grey listing.

Sendmail apparently only uses the extended status codes to formulate
delivery status notices.  The only one that seem suitable to me is
this one:

       X.2.1   Mailbox disabled, not accepting messages

          The mailbox exists, but is not accepting messages.  This may
          be a permanent error if the mailbox will never be re-enabled
          or a transient error if the mailbox is only temporarily
          disabled.


-- 
-Gary Mills-    -Unix Support-    -U of M Academic Computing and Networking-



More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.