Peter J. Holzer wrote:
> I always found the rcpt_ok plugin in trunk/plugins rather useless for
> two reasons:
> 
> 1) it can only check for the recipient domain, not the local part. So it
>    cannot reject mails to non-existent recipients. Accepting a mail and
>    later sending a DSN is IMHO not acceptable behaviour for an MX.
> 
> 2) It returns OK on success. That means that any later plugins in the rcpt
>    hook will not be executed. But most plugins I only want to run after
>    I have established that the recipient is indeed a valid, local
>    adress.

You have to remember that the origin of qpsmtpd is as a replacement for Qmail's
smtpd.  As such, rcpt_ok has a very narrow mandate, as shown in the comment
lines at the head of the plugin itself:

# this plugin checks the standard rcpthosts config
#
# It should be configured to be run _LAST_!
#

It was specifically designed so that if you loaded no other rcpt plugin, it
would work just like Qmail does.  If you want to run _other_ rctp-time checks,
just load them before rcpt_ok.  FWIW, I run four:

check_badmailfromto
check_badmailfrom
check_badrcptto
check_finger

the last of which actually hits the user database for each domain and confirms
that the user (or an alias) is live at that moment in time.

John

Reply via email to