> > (It loses the (To|Cc): qpsmtpd at perl.org, so it's really annoying to
> > reply to.)
> That's a carbon-based error (i.e. /I/ am deleting it). Since I am
> using a newsreader (and I'm not on the list), if I leave that header
> in, I get a warning message from the listserve software. I'll stop
> deleting the cc: and just ignore the warnings from now on.
Lets take this off list. Send me the warning message.
> > Um. Not sure about this problem. My test instance doesn't seem to
> > touch that. I hope its not something I broke.
>
> I didn't have much time to debug it; maybe I'll get back to it on
> Tuesday (if there aren't any other fires to put out, like losing both
> T-1's to the phone switch).
Fire! Fire!
> My code permits VRFY only from specified IP addresses/blocks, and does
> a direct query into the user database. The only reason I call it a
> "crude hack" is that I implemented it using
>
> *Qpsmtpd::SMTP::vrfy = \&my_vrfy;
>
> which is not what I would call an elegant interface... ;)
That's just Perl. :) Not really too awful.
Considering how verify isn't really implemented at all right now:
sub vrfy {
shift->respond(252, "Just try sending a mail and we'll see how it turns out ..
.");
}
That should probably be:
sub vrfy {
my $self = shift;
my ($rc, $msg) = $self->run_hooks("vrfy");
if ($rc == DONE) {
return 1;
}
elsif ($rc == DENY) {
$self->respond(554, $msg || "Access Denied");
$self->reset_transaction();
return 1;
}
elsif ($rc == OK) {
$self->respond(250, $msg || "User OK")
return 1;
}
else # $rc == DECLINED or anything else
$self->respond(252, "Just try sending a mail and we'll see how it turns out
...");
return 1;
}
}
(if someone else sanity checks that, I'll apply it.)
-R