Provided by: libnet-server-mail-perl_0.21-1_all
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.