2010-08-05 19:53:14 -04:00
|
|
|
#!/usr/bin/perl
|
2007-11-05 13:24:19 -05:00
|
|
|
################################################################################
|
|
|
|
# sendmail.pl
|
|
|
|
# <rename this to /usr/sbin/sendmail for a FreeSWITCH
|
|
|
|
# voicemail gateway with no mail server>
|
|
|
|
#
|
|
|
|
# (c) 2005 Anthony Minessale II
|
|
|
|
# Anthony Minessale <anthmct@yahoo.com>
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
use Net::SMTP;
|
|
|
|
my $relayhost = "localhost"; # what is the internet address of your smtp server
|
|
|
|
my $over_from = ""; # define this to override the to
|
|
|
|
my $over_to = ""; # define this to override the from
|
|
|
|
my $debug = 0; # set to 1 to watch it deliver
|
|
|
|
my $timeout = 60; # when to give up.
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
|
|
|
|
$/ = undef;
|
|
|
|
my $msg = <STDIN>;
|
|
|
|
|
|
|
|
my ($to) = $over_to || $msg =~ /To: (.*)/;
|
|
|
|
my ($from) = $over_from || $msg =~ /From: (.*)/;
|
|
|
|
|
|
|
|
|
|
|
|
if($to =~ /<([^>]+)>/) {
|
|
|
|
$to = $1;
|
|
|
|
}
|
|
|
|
|
|
|
|
if($from =~ /<([^>]+)>/) {
|
|
|
|
$from = $1;
|
|
|
|
}
|
|
|
|
|
|
|
|
my $smtp = Net::SMTP->new($relayhost, Debug => $debug, Timeout => $timout);
|
|
|
|
$smtp->mail($from);
|
|
|
|
$smtp->to(split /,/, $to);
|
|
|
|
$smtp->data($msg);
|
|
|
|
$smtp->quit();
|
|
|
|
|