###近期的一個小項目中須要用到郵件自動通知功能,搜了搜,發現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