用PHP发包含附件的邮件

来源:互联网 发布:apache ab 测试报告 编辑:程序博客网 时间:2024/05/01 22:02

用PHP发邮件(包括附件的方法)
一直想做监控来发邮件,但是都不太理想,今天在PHP 的一个代码中发现了一个开源的发邮件的类,不管好用不好用,先down下来测试一下,因为不会PHP,所以就先查了一下该类的使用方法。功能不错,大家可以自己玩下。
下面我把我自己对这个类的简单的用法给介绍下,希望对大家有帮助。
最新的包下载页面在http://sourceforge.net/projects/phpmailer
Wget http://nchc.dl.sourceforge.net/s … pMailer_v2.3.tar.gz
这个是最新的版本。其中包括了官方对Gmail用php发信的支持说明。
对文件解压后,最简单的可以看下readme文件。有面有一个最简单的sample
好了,费话不多说了。来一个我的例子吧。很简单的哦,不要拿石头扔我哦。
(说一下我监控的例子)
实现第天早上8点钟的时候发邮件通知 CPU 内存 当然在线用户的情况
写一个php的发信页面
<?php
include_once(‘class.phpmailer.php’);
$mail = new PHPMailer();
$body = $mail->getFile(‘content’); //从一个文件里得到要发邮件的内容,因为我用简单的命令重定向到文件,调用方便。
$mail->From = “bettydreamit@126.com”;
$mail->FromName = “&raquo;yingcai
$mail->Username = “bettydreamit”;
$mail->Password = “XXXXXXXX”;
$mail->CharSet = “GB2312″;//邮件的编码格式。
$mail->SMTPAuth = true;
$mail->Host = “smtp.126.com”;
$mail->Mailer = “smtp”;
$mail->Subject = “监控邮件;
$mail->Body=$body;
$mail->AddAttachment(“/var/bbs/mail/mail.zip”);
$mail->AddAddress(“303441547@qq.com”, “betty”);
$mail->AddAddress(“yingcai.huang@chinacache.com”, “yingcai”);
$mail->AddAddress(“yingcai.huang@139.com”, “yingcai”);
$mail->AddAddress(“zgs@17u.net”, “zsj”);
//想发几个人,就写添加几个(我这里指定了4个)
if(!$mail->Send()) {
echo ‘Failed to send mail’;
} else {
echo ‘Mail sent Successfull’;
}

?>
然后保存为mail1.php
接着来进行我们的简单测试
[root@squid mail]# more autosendmail.sh
#!/bin/bash
##get OS infromation
rm -f content
echo “#######################Mem Info##################################” >content
free >>content
echo “” >>content
echo “#######################Disk Info##################################” >>content
df -h >>content
echo “” >>content
echo “#######################User login Info##################################” >>content
w >> content
echo “” >>content
#send mail to Admin
php mail1.php >&autosendmail.log
sleep 1
rm -f content
然后放放到crontab中
0 8 * * * php /var/bbs/mail/mail1.php
每天早上8点发送邮件。
对于发gmail 或别的更高级的应用,例子中有参考。


原创粉丝点击