使用phpmailer自動郵件提醒

###近期的一個小項目中須要用到郵件自動通知功能,搜了搜,發現phpmailer這個東西你們用的挺多的。php


1. 首先去sourceforge下載[phpmailer][1],也可去個人[網盤][2]下載,我用的是5.1版本的。數據庫


2. 看到phpmailer目錄下有三個class文件,這即是phpmailer的核心,能夠將這些文件拷到你的項目中。windows


3. 使用起來phpmailer很方便,以下: 安全


   ```php 服務器

require("class.phpmailer.php");  app

$mail = new PHPMailer(); //創建郵件發送類  ide

$mail->CharSet = "GB2312"; 工具

$mail->IsSMTP(); // 使用SMTP方式發送  測試

$mail->SMTPAuth = true; // 啓用SMTP驗證功能  ui

$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;

    }

   ```


4. 能夠在前面發送消息前調用下數據庫,查看是否有消息須要發送。


5. 因爲咱們的項目是在windows的服務器上跑的,因此須要定時去檢查是否須要發送郵件。Linux下能夠使用crontab輕易地解決,在Windows下要使用windows任務計劃。


6. 首先須要寫一個bat腳本,可是bat腳本在執行任務計劃時,怎麼出現一個黑框,挺嚇人的,因此先寫一個vbs,經過它去調用bat腳本,bat腳本再去調用php實現功能。


7. vbs內容以下:


   ```perl  

Set ws = CreateObject("Wscript.Shell") 

ws.run "cmd /c E:\xampp\htdocs\sdc\application\mail\timeSend.bat",vbhide

   ```

8. vbs調用timeSend.bat,內容以下:


   ```perl

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

   ```


9. 打開**任務面板->系統和安全->管理工具->計劃任務**,新建**基本任務**,觸發器本身想要觸發的時間,操做選擇**啓動程序**,瀏覽選擇本身的vbs程序,點擊完成。


10. 這樣,程序就能夠在指定時間發送郵件了。



[1]:http://sourceforge.net/projects/phpmailer/

[2]:http://pan.baidu.com/s/1jG3IaV0

相關文章
相關標籤/搜索