#!/usr/bin/perl -w
use strict;#启用严格代码检查 use Net::SMTP_auth;#使用SMTP_auth模块,注① use LWP::UserAgent;#使用UserAgent模块
my $url = qq(http://www.abc.com);#定义监控的地址,可以定义多个,定义多个的情况,请参见perl数组的定义 my $lwp = LWP::UserAgent->new(); my $response = $lwp->get($url); my $status = $response->status_line();
my $bool = ($status =~ /200 OK/);#正则匹配返回的状态 if(!$bool){
my $mailhost = 'smtp.163.com'; my $mailfrom = 'abcd@163.com';#定义发件人邮箱 my @mailto = ('ddfdf@163.com','def@139.com');#定义收件人邮箱,可以定义多个
my $user = 'abcd';#发件人邮箱登录名 my $passwd = qq(jkjdkf);#发件人邮箱密码
my $subject = qq(Service Error!);#邮件title,可自定义
## my $text = qq(Server is not work now,need help! );#邮件内容,可以自定义
my $smtp = Net::SMTP_auth->new($mailhost,Timeout=>120,Debug => 1) or die "Error.\n"; $smtp->auth('LOGIN',$user,$passwd);
foreach my $mailto(@mailto) { $smtp->mail($mailfrom); $smtp->to($mailto); $smtp->data(); $smtp->datasend("To: $mailto\n"); $smtp->datasend("From:$mailfrom\n"); $smtp->datasend("Subject: $subject\n"); $smtp->datasend("\n"); $smtp->datasend("$status\n$text\n"); $smtp->dataend(); } $smtp->quit; } |