qpsmtpd/plugins/quit_fortune

28 lines
704 B
Perl

#!perl -w
use strict;
use Qpsmtpd::Constants;
sub register {
my $self = shift;
$self->{_fortune} = '/usr/games/fortune';
return if ! -x $self->{_fortune};
# if fortune not installed, don't register hook
$self->register_hook('quit', 'fortune');
}
sub fortune {
my $self = shift;
my $qp = $self->qp;
# if she talks EHLO she is probably too sophisticated to enjoy the fun
return DECLINED if !$qp->connection->hello;
return DECLINED if $qp->connection->hello eq 'ehlo';
my @fortune = `$self->{_fortune} -s`;
@fortune = map { chop; s/^/ \/ /; $_ } @fortune;
$qp->respond(221, $qp->config('me') . " closing connection.", @fortune);
return DONE;
}