6 use AnyEvent::SMTP::Server;
7 use Data::Dump qw(dump);
12 my $host = $ENV{SMTP_HOST} || '0.0.0.0';
13 my $port = $ENV{SMTP_PORT} || 2525;
15 my $server = AnyEvent::SMTP::Server->new( host => $host, port => $port );
20 warn "Client from $con->{host}:$con->{port} connected\n";
24 warn "Client from $con->{host}:$con->{port} gone\n";
28 my $from = $mail->{from};
29 warn "Received mail from $from to ",join(' and ',@{$mail->{to}}), "\n$mail->{data}\n";
30 foreach my $to ( @{ $mail->{to} } ) {
31 my $subject = $1 if $mail->{data} =~ m/^Subject:\s*(.+)$/m;
32 $subject =~ s/[\s\r\n]+$//; # XXX important!
33 MQR::Redis->publish( "MSG $host:$port smtp $mail->{from} $to" => $subject );
39 AnyEvent->condvar->recv;