Oops, I think the plugin is not standard, so here is the source in case anyone else on the list is curious:
------------------------------------------------------------------
# this plugin checks if the rcpt to email address actually exists.
# Unlike other plugins which work similarly, this plugin relies upon
# an external utility to do the actual verification of the email address.
# This means this plugin can work with any address store.

sub register {
 my ($self, $qp) = @_;
 $self->register_hook("rcpt", "check_address");
}

sub check_address {
 my ($self, $transaction, $recipient) = @_;
 return (DECLINED) unless $recipient->host && $recipient->user;
 my $host = lc $recipient->host;
 my $from = lc($recipient->user) . '@' . $host;
 my $check_script = '/usr/local/vpopmail/bin/vpopaccountexists';
 return DECLINED unless -e $check_script;

 # Always allow relayclients and whitelisted hosts/senders
 return DECLINED if $self->qp->connection->relay_client();
 return DECLINED if $self->qp->connection->notes('whitelisthost');
 return DECLINED if $transaction->notes('whitelistsender');
 my @result = `$check_script $from`;
 my $exit_value = $? >> 8;
 $self->log(LOGDEBUG, 'Exit code for ' . $from . ' was ' . $exit_value );
 return (DENY, "mail to $from not accepted here") if $exit_value ne '1';

 return (DECLINED);
}

--------------------------------------------------------------------

Rick wrote:
There's a binary called vpopaccountexists that will check vpopmail virtual domains. I use it with check_anyrcptto. I think the domain that hosted the source for vpopaccountexists is down, so I'll attach that and the scrip I used to compile it.


check_anyrcptto: my $check_script = '/usr/local/vpopmail/bin/vpopaccountexists';

-Rick

Frank Precissi wrote:
Hi everyone!  Long time lurker/qpsmtpd user, first time poster.

I've searched everywhere, checked the repos, and the pages for plugin
writers.

Is there a good working vpopmail valid-email plugin for qpsmtpd?  One
that will:

1. Search .qmail files in /var/qmail/vpopmail/domains/* (including ezmlm
files)
2. Query the vpopmail database for aliases there.
3. Not choke on catchall addresses.

I'm running a vanilla vpopmail installation with multiple domains.

There used to be one that relied on setuid-perl, but for the life of me
I cant find it (and are unsure if it will run on the latest version of
qpsmtpd).

Thanks everyone!

Frank


Reply via email to