#!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;
}