use strict;
use Test;
use IO::Socket;
use Net::SMTP;
BEGIN {plan tests => 10;}
use Net::Server::Mail::SMTP;
ok(1);
my $server_port = 2525;
my $server;
while(not defined $server && $server_port < 4000)
{
$server = new IO::Socket::INET
(
Listen => 1,
LocalPort => ++$server_port,
);
}
my $pid = fork;
if(!$pid)
{
while(my $conn = $server->accept)
{
my $m = new Net::Server::Mail::SMTP socket => $conn, idle_timeout => 5
or die "can't start server on port 2525";
$m->process;
}
}
my $smtp = new Net::SMTP "localhost:$server_port", Debug => 0;
ok(defined $smtp);
ok($smtp->mail("test\@bla.com"));
ok(!$smtp->mail("test\@bla.com"));
ok($smtp->to('postmaster'));
ok($smtp->to('postmaster'));
ok($smtp->data);
ok($smtp->datasend('To: postmaster'));
ok($smtp->dataend);
ok($smtp->quit);
kill 1, $pid;
wait;