X-Git-Url: http://git.freeside.biz/gitweb/?p=undersmtpd.git;a=blobdiff_plain;f=_smtpd;fp=_smtpd;h=60654f7c21963017bd3be48726558522e5103252;hp=1bd202114886c458cc26a0ec0a6806f9bcfa8767;hb=357d20fa368f7faa1c79b32fabd74c40676772fd;hpb=a09cf179733d08353e6c8912075cffe9e8a57d4e diff --git a/_smtpd b/_smtpd index 1bd2021..60654f7 100644 --- a/_smtpd +++ b/_smtpd @@ -2,19 +2,22 @@ use strict; use Getopt::Std; -use vars qw(%aliases $opt_d $opt_a); +use vars qw(%aliases $opt_a); use subs qw(validate_recipient process_message read_aliases); use Net::Server::Mail::ESMTP; +use IPC::Run qw( run ); +use Sys::Syslog; -getopt('a:'); +getopt('a:v'); my $smtp = new Net::Server::Mail::ESMTP; $smtp->set_callback(RCPT => \&validate_recipient); $smtp->set_callback(DATA => \&process_message); +openlog('[_smtpd]', '', 'mail'); read_aliases; $smtp->process; - +closelog(); #-- sub validate_recipient { @@ -34,19 +37,21 @@ sub process_message { return(0, 554, 'Error: no valid recipients') unless(@recipients); + syslog('info', + 'received '.length($$data).' bytes for '.join(',', @recipients) + ); foreach my $recipient ( @recipients ) { $recipient =~ s/^