Thursday, June 21, 2012

Sending Email From the dialplan

exten => s,1,NoOp()
exten => s,n,System(echo "To: simplesunny@gmail.com" > /opt/etc/init.d/calls)
exten => s,n,System(echo "Subject: [PBX]: Service Down" >> /opt/etc/init.d/calls)
exten => s,n,System(echo "" >> /opt/etc/init.d/calls)
exten => s,n,System(echo "service down at ${STRFTIME(%C%m%d%y%H%M)}" >> /opt/etc/init.d/calls)
exten => s,n,System(sendmail -t -f noc@gmail.com < /opt/etc/init.d/calls)
exten => s,n,Hangup
sub mailSend {
my ($subj, $body) = @_;
my(@da, @day, @mon, $datetime, $expTO, $mail, $head);
@da = localtime(time);
@day = qw(Sun Mon Tue Wed Thu Fri Sat);
@mon = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
$datetime = sprintf "%s, %02d %s %d %02d:%02d:%02d +0900",
($day[$da[6]], $da[3]*1, $mon[$da[4]], $da[5]+1900,
$da[2]*1, $da[1]*1, $da[0]*1);
$body = Jcode->new($body)->h2z->jis;
$head = "Return-Path: <$m_RETPATH>\n";
$expTO = join(",\n ", @m_MAILTO);
$head .= "To: $expTO\n";
$head .= "From: $m_FROM\n";
$head .= "Date: $datetime\n";
$head .= "Content-type: text/plain; charset=iso-2022-jp\n";
$head .= "Subject: $subj\n";
$head .= "\n";
$head = &mimeencode($head);
$mail = "$head$body";
if (open (OUT, "|$QIPATH")) { # qmail-inject
$mail =~ s/%/%%/g;
printf OUT "$mail";
close (OUT);
}
}
Another Way-à

exten => 1234,1,Answer
exten => 1234,2,System(echo "Service Down" | mail -s "SUBJECT" simplesunny@gmail.com)
Exten => alarm,1,System(/usr/local/bin/sendalarm.sh|email at address.com)
Another Way-à
Exten => alarm,1,AGI(sendalarm)
/usr/local/bin/sendalarm
#!/bin/sh
Mail -s "Alarm condition on PBX" $1 < /dev/null

0 comments:

Post a Comment