perl发送mail的代码

发布时间:2019-09-22编辑:脚本学堂
需求:写一个监控脚本,client监控应用程序的日志,有异常插入数据到DB,server轮询DB,发现需要发送的告警的,发送邮件给相关人。其中server端的的告警类型,发送对象都是可以配置的。

需求:
写一个监控脚本,client监控应用程序的日志,有异常插入数据到DB,server轮询DB,发现需要发送的告警的,发送邮件给相关人。
其中server端的的告警类型,发送对象都是可以配置的。

测试了2个模块,监控日志文件和mail发送,特此分享perl发送mail的脚本,供大家学习参考。

需要安装了二个module:
MIME::Base64 --这个可以不装;
Mail::Sender
debug打开日志还是比较重要。用变量时,邮箱地址的@,需要转义下。
 

复制代码 代码如下:
#!/usr/bin/perl
use Mail::Sender;
my $text=aaaaaaa;
my $mailto="zhou_xinwei@vobile.cn,zhou_xinwei@vobile.cn,jiang_changlin@vobile.cn";
open my $DEBUG, ">> /tmp/mail.log" or die "Can't open the debug file: $!n";
my $sender = new Mail::Sender {
     smtp => 'mail.vobile.cn',
     from => [email='ops_report@vobile.cn']%27ops_report@vobile.cn%27[/email],
     on_errors => undef,
     client=>'hz-151.vobile.cn',
     debug => $DEBUG
} or die "Can't create the Mail::Sender object: $Mail::Sender::Errorn";
$sender->MailMsg({
       to =>$mailto,
       subject => "mail test do not replay",
       msg => $text,
       debug=>$DEBUG}) or print $Mail::Sender::Error;
$sender ->Close();