NAME

Net::Server::Mail::ESMTP::HELP - Simple implementation of HELP for Net::Server::Mail::ESMTP

VERSION

Version 0.01

SYNOPSIS

Simple implementation of HELP for Net::Server::Mail::ESMTP.

use Net::Server::Mail::ESMTP;
my $server = new IO::Socket::INET Listen => 1, LocalPort => 25;

my $conn;
while($conn = $server->accept)
{
  my $esmtp = new Net::Server::Mail::ESMTP socket => $conn;

  # activate HELP extension
  $esmtp->register('Net::Server::Mail::ESMTP::HELP');

  # adding (optional) HELP handler
  $esmtp->set_callback(HELP => \&show_help);
  $esmtp->process;
}

# if you don't set a custom HELP handler, the default one will be used which just lists all known verbs
sub show_help {
    my ($session, $command) = @_;

    $session->reply(214, ($command ? "2.0.0 Heck yeah, '$command' rules!\n":'') . "2.0.0 Available Commands: " . join(', ', keys %{$session->{verb}}) . "\nEnd of HELP info");

    return 1;
}

EXPORT

A list of functions that can be exported. You can delete this section if you don't export anything, such as for a purely object-oriented module.

FUNCTIONS

verb

keyword

reply

help

AUTHOR

Dan Moore, <dan at moore.cx>

BUGS

Please report any bugs or feature requests to bug-net-server-mail-esmtp-help at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-Server-Mail-ESMTP-HELP. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Net::Server::Mail::ESMTP::HELP

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2011 Dan Moore.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.