NAME¶
Net::Server::Mail::ESMTP::STARTTLS - A module to support the STARTTLS command in
Net::Server::Mail::ESMTP
SYNOPSIS¶
use strict;
use Net::Server::Mail::ESMTP;
my @local_domains = qw(example.com example.org);
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,
SSL_config => {
SSL_cert_file => 'your_cert.pem',
SSL_key_file => 'your_key.key',
# Any other options taken by IO::Socket::SSL
}
);
# activate some extensions
$esmtp->register('Net::Server::Mail::ESMTP::STARTTLS');
# adding optional STARTTLS handler
$esmtp->set_callback(STARTTLS => \&tls_started);
$esmtp->process();
$conn->close()
}
sub tls_started {
my ($session) = @_;
# Now, allow authentication
$session->register('Net::Server::Mail::ESMTP::AUTH');
}
DESCRIPTION¶
This module conducts a TLS handshake with the client upon receiving the STARTTLS
command. It uses IO::Socket::SSL, requiring 1.831+, to perform the handshake
and secure traffic.
An additional option, SSL_config, is passed to Net::Server::Mail::ESMTP's
constructor. It contains options for IO::Socket::SSL's constructor. Please
refer to IO::Socket::SSL's perldoc for details.
SEE ALSO¶
Please, see Net::Server::Mail
AUTHOR¶
This module has been writed by Xavier Guimard <x.guimard@free.fr> using
libs written by:
- Mytram <rmytram@gmail.com>
- Dan Moore "<dan at moore.cx>"
AVAILABILITY¶
Available on CPAN.
anonymous Git repository:
git clone
git://github.com/rs/net-server-mail.git
Git repository on the web:
<
https://github.com/rs/net-server-mail>
BUGS¶
Please use CPAN system to report a bug (
http://rt.cpan.org/).
LICENSE AND COPYRIGHT¶
- Copyright (C) 2009 - Dan Moore <dan at moore.cx>
- Copyright (C) 2013 - Mytram <rmytram@gmail.com>
- Copyright (C) 2013 - Xavier Guimard <x.guimard@free.fr>
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.