###使用phpmailer自动邮件提醒

王朝学院·作者佚名  2016-05-25
窄屏简体版  字體: 小  |  中  |  大  |  超大  

###使用phpmailer自动邮件提醒近期的一个小项目中需要用到邮件自动通知功能,搜了搜,发现phpmailer这个东西大家用的挺多的。首先去sourceforge下载phpmailer,也可去我的网盘下载,我用的是5.1版本的。

看到phpmailer目录下有三个class文件,这便是phpmailer的核心,可以将这些文件拷到你的项目中。

使用起来phpmailer很方便,如下:

require("class.phpmailer.php"); $mail = new PHPMailer(); //建立邮件发送类 $mail->CharSet = "GB2312";$mail->IsSMTP(); // 使用SMTP方式发送 $mail->SMTPAuth = true; // 启用SMTP验证功能 $mail->Port=25;$mail->Host = "smtp.QQ.com"; // 您的企业邮局域名 $mail->Username = "frommail@qq.com"; // 邮局用户名(请填写完整的email地址) $mail->PassWord = "213123"; // 邮局密码 $mail->From = "frommail@qq.com"; //邮件发送者email地址 $mail->FromName = "tester";$address = "tomail@qq.com";//收件地址$mail->AddAddress("$address", "a");$mail->Subject = "测试消息通知";$mail->Body = "您好!系统中有条信息未审核。"; //邮件内容 if(!$mail->Send()){echo "邮件发送失败. <p>";echo "错误原因: " . $mail->ErrorInfo;exit;}

可以在前面发送消息前调用下数据库,查看是否有消息需要发送。

由于我们的项目是在windows的服务器上跑的,所以需要定时去检查是否需要发送邮件。linux下可以使用crontab轻易地解决,在Windows下要使用windows任务计划。

首先需要写一个bat脚本,但是bat脚本在执行任务计划时,怎么出现一个黑框,挺吓人的,所以先写一个vbs,通过它去调用bat脚本,bat脚本再去调用php实现功能。

vbs内容如下:

Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c E:\xampp\htdocs\sdc\application\mail\timeSend.bat",vbhide

vbs调用timeSend.bat,内容如下:

E:\xampp\php\php.exe E:\xampp\htdocs\sdc\application\mail\mail.php > E:\xampp\htdocs\sdc\application\mail\log.txt

打开任务面板->系统和安全->管理工具->计划任务,新建基本任务,触发器自己想要触发的时间,操作选择启动程序,浏览选择自己的vbs程序,点击完成。

这样,程序就可以在指定时间发送邮件了。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航