File: smtp.t

package info (click to toggle)
libnet-server-mail-perl 0.28-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 268 kB
  • sloc: perl: 1,299; makefile: 2
file content (43 lines) | stat: -rw-r--r-- 923 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
use strict;
use Test::More;
use IO::Socket;
use Net::SMTP;

plan tests => 10;
use_ok('Net::Server::Mail::SMTP');

my $server_port = 2525;
my $server;

while ( not defined $server && $server_port < 4000 ) {
    $server = IO::Socket::INET->new(
        Listen    => 1,
        LocalPort => ++$server_port,
    );
}

my $pid = fork;
if ( !$pid ) {
    while ( my $conn = $server->accept ) {
        my $m = Net::Server::Mail::SMTP->new(
          socket       => $conn,
          idle_timeout => 5
        ) or die "can't start server on port 2525";
        $m->process;
    }
}

my $smtp = Net::SMTP->new( "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;