失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux邮件自动报警 linux报警之邮件报警

linux邮件自动报警 linux报警之邮件报警

时间:2019-08-23 16:45:50

相关推荐

linux邮件自动报警 linux报警之邮件报警

一,邮件报警之前的准备工作:

1,软件环境:

需要我们具备一个php的环境:

如果没有,先安装php吧

yum install php

另外我们需要一个邮箱,因为我们需要以此邮箱向外发送邮件

2,下载phpmailer软件包:

此项目的官方站地址:

说明:下载时请注意选择与自己所安装的php版本一致的程序包

查看php版本:

[root@dev ~]# php -v

PHP 5.1.6 (cli) (built: Sep 20 10:16:10)

Copyright (c) 1997- The PHP Group

Zend Engine v2.1.0, Copyright (c) 1998- Zend Technologies

3,下载并进行安装

[root@dev ~]# wget /phpmailer/phpMailer_v2.3.tar.gz?modtime=1226373448&big_mirror=0

下载完成后解压缩即可

[root@dev ~]# tar -zxvf phpMailer_v2.3.tar.gz

二,使用phpmailer

1,对phpmailer的调用再封装出一个类,以方便写应用的代码

创建一个php文件,命名为 Mailer.php

其内容为:

/*

Mailer class, for phpmailer

*/

class Mailer {

var $mail;

function Mailer($host, $username,$password) {

$mail = new phpmailer();

$mail->IsSMTP();

$mail->Host = ;

$mail->SMTPAuth = true;

$mail->Username = $username;

$mail->Password = $password;

$mail->From = “admin@mailserver”;

$this->mail = $mail;

}

function addCC($address){

$this->mail->AddCC($address);

}

function addBCC($address){

$this->mail->AddBCC($address);

}

function setFrom($address){

$this->mail->From = $address;

}

function AddReplyTo($address){

$this->mail->AddReplyTo($address);

}

function addFile($file){

$this->mail->AddAttachment($file);

}

function send($to,$name,$subject,$message){

$mailto = split (“,”, $to);

foreach($mailto as $thekey=>$oneto ){

if($oneto!=””){

$this->mail->AddAddress($oneto);

}

}

$this->mail->FromName = $name;

$this->mail->Subject = $subject;

$this->mail->Body = str_replace(“\n”,”

\n”,$message);

$this->mail->AltBody = $message;

if(!$this->mail->Send())

{

echo $this->mail->ErrorInfo;

return -1;

}

return 0;

}

}

?>

把此文件放到phpmailer解压后的目录下

2,写出发送邮件的程序

为了举例子,我在此处写一个把df产生的空间使用信息的邮件发送程序

mailspace.php

//邮件服务器信息

define (“SERVER_MAIL_HOST”, “ip.of.our.mailserver” );

define (“SERVER_MAIL_USER”, “one@” );

define (“SERVER_MAIL_PASS”, “passofmailbox” );

define (“SERVER_MAIL_FROM”, “one@” );

//包含类文件

require_once(“class.smtp.php”);

require_once(“class.phpmailer.php”);

require_once(“Mailer.php”);

//执行命令

$dfinf= shell_exec(“/bin/df”);

//发送邮件

$mail = new Mailer(SERVER_MAIL_HOST,SERVER_MAIL_USER,SERVER_MAIL_PASS,SERVER_MAIL_FROM);

$res_mail = $mail->send(“liuhongdi@”,”info_of_server”,”server space usage”,”server space usage:\n”.$dfinf);

?>

说明:

1,在邮件服务器信息部分:

输入邮件服务器的地址:域名或IP地址

邮箱的用户名

邮箱的密码

from 一项,注意设置为带有完整域名的邮箱地址

2,注意把此程序放在phpmailer解压后的目录中,否则

在包含类文件部分需指明类文件的完整路径

3,执行命令部分得到用邮件进行通知的主要信息,

此部分可以根据自己的需要进行处理

4,发送邮件部分中 send方法的参数的含义

第一个参数:liuhongdi@ 这个是负责接收报警邮件的邮箱,如果我们需要把邮件发送给多个人,

可以填写上多个邮箱,注意用半角逗号隔开即可

第二个参数:info_of_server 这个是接收到邮件时所显示的邮件发送者的信息

第三个参数:server space usage 一封邮件的主题

第四个参数: 就是这封邮件的内容了

3,如何从命令行执行发邮件的程序?

/usr/bin/php /usr/local/phpMailer_v2.3/mailspace.php

如需放到crond中定时运行,

执行 crontab -e

30 2 * * * /usr/bin/php /usr/local/phpMailer_v2.3/mailspace.php

如果觉得《linux邮件自动报警 linux报警之邮件报警》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。