phpmailer를 사용한 자동 이메일 알림
풀어 주다: 2016-07-25 09:13:10
近期的一个小项目中需要用到邮件自动通知功能,搜了搜,发现phpmailer这个东西大家用的挺多的。
首先去sourceforge下载phpmailer,也可去我的网盘下载,我用的是5.1版本的。
看到phpmailer目录下有三个class文件,这便是phpmailer的核心,可以将这些文件拷到你的项目中。
-
使用起来phpmailer很方便,如下:
require("class.phpmailer.php"); </li>
<li>$mail = new PHPMailer(); //建立邮件发送类 </li>
<li>$mail->CharSet = "GB2312"; </li>
<li>$mail->IsSMTP(); // 使用SMTP方式发送 </li>
<li>$mail->SMTPAuth = true; // 启用SMTP验证功能 </li>
<li>$mail->Port=25; </li>
<li>$mail->Host = "smtp.qq.com"; // 您的企业邮局域名 </li>
<li>$mail->Username = "frommail@qq.com"; // 邮局用户名(请填写完整的email地址) </li>
<li>$mail->Password = "213123"; // 邮局密码 </li>
<li>$mail->From = "frommail@qq.com"; //邮件发送者email地址 </li>
<li>$mail->FromName = "tester";</li>
<li>$address = "tomail@qq.com";//收件地址</li>
<li>$mail->AddAddress("$address", "a");</li>
<li>$mail->Subject = "测试消息通知";</li>
<li>$mail->Body = "您好!系统中有条信息未审核。"; //邮件内容 </li>
<li>if(!$mail->Send())</li>
<li>{</li>
<li> echo "邮件发送失败. <p>";</li>
<li> echo "错误原因: " . $mail->ErrorInfo;</li>
<li> exit;</li>
<li>}</li>
<li>
复制代码
可以在前面发送消息前调用下数据库,查看是否有消息需要发送。
由于我们的项目是在windows的服务器上跑的,所以需要定时去检查是否需要发送邮件。Linux下可以使用crontab轻易地解决,在Windows下要使用windows任务计划。
首先需要写一个bat脚本,但是bat脚本在执行任务计划时,怎么出现一个黑框,挺吓人的,所以先写一个vbs,通过它去调用bat脚本,bat脚本再去调用php实现功能。
-
vbs内容如下:
Set ws = CreateObject("Wscript.Shell") </li>
<li>ws.run "cmd /c E:xampphtdocssdcapplicationmailtimeSend.bat",vbhide</li>
<li>
复制代码
-
vbs调用timeSend.bat,内容如下:
E:xamppphpphp.exe E:xampphtdocssdcapplicationmailmail.php > E:xampphtdocssdcapplicationmaillog.txt</li>
<li>
复制代码
打开任务面板->系统和安全->管理工具->计划任务,新建基本任务,触发器自己想要触发的时间,操作选择启动程序,浏览选择自己的vbs程序,点击完成。
这样,程序就可以在指定时间发送邮件了。
|
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31