qpsmtpd/plugins/quit_fortune

28 lines
701 B
Plaintext
Raw Normal View History

#!perl -w
2014-09-18 07:22:17 +02:00
use strict;
2014-09-18 07:22:17 +02:00
use Qpsmtpd::Constants;
2014-09-18 07:22:17 +02:00
sub register {
my $self = shift;
$self->{_fortune} = '/usr/games/fortune';
return if ! $self->{_fortune};
2014-09-18 07:22:17 +02:00
# 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';
2014-09-18 07:22:17 +02:00
my @fortune = `$self->{_fortune} -s`;
@fortune = map { chop; s/^/ \/ /; $_ } @fortune;
$qp->respond(221, $qp->config('me') . " closing connection.", @fortune);
return DONE;
}