注意:如果你的服務器安裝了賣咖啡並且開戶病毒最大防護功能我們需要關閉一個郵件防護哦,否則你的郵件發不出去給被這款殺毒給攔截哦。
1. 使用gmail發送的腳本
代碼如下 復制代碼
include("class.phpmailer.php");
include("class.smtp.php");
//獲取一個外部文件的內容
$mail = new PHPMailer();
$body = file_get_contents('contents.html');
$body = eregi_replace("[]",'',$body);
//設置smtp參數
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPKeepAlive = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
//填寫你的gmail賬號和密碼
$mail->Username = "[email protected]";
$mail->Password = "password";
//設置發送方,最好不要偽造地址
$mail->From = "[email protected]";
$mail->FromName = "Webmaster";
$mail->Subject = "This is the subject";
$mail->AltBody = $body;
$mail->WordWrap = 50; // set word wrap
$mail->MsgHTML($body);
//設置回復地址
$mail->AddReplyTo("[email protected]","Webmaster"(www.111cn.net));
//添加附件,此處附件與腳本位於相同目錄下
//否則填寫完整路徑
$mail->AddAttachment("attachment.jpg");
$mail->AddAttachment("attachment.zip");
//設置郵件接收方的郵箱和姓名
$mail->AddAddress("[email protected]","FirstName LastName");
//使用HTML格式發送郵件
$mail->IsHTML(true);
//通過Send方法發送郵件
//根據發送結果做相應處理
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message has been sent";
}
2.使用163發送郵件的腳本
只需要更改SMTP配置和賬戶密碼即可,SMTP配置如下
代碼如下 復制代碼
//設置smtp參數
//注意這裡不需要ssl協議
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPKeepAlive = true;
$mail->Host = "smtp.163.com";
$mail->Port = 25;
在本地wampserver環境下測試通過,需要開啟php_openssl 擴展。
經驗分享
有一些朋友參考此教程來使用sina郵件登錄發送郵件時你發現新浪郵件並不支持這個功能,其實這個並不是新浪郵箱不支持此功能我們需要在新浪郵箱中找開pop3這個協議才可以,開戶方法是登錄新浪之後,我們在右邊的更多旁邊有一個設置按鈕,我們點擊進入之後會看到有個“帳戶設置”進入之後在最下面有一個pop3協義類的我們可以把它開戶,這樣你再試一下上面代碼就可以解決了哦,有朋友部為什麼163郵件不用設置呢,因為163郵件默認是打開pop3的哦。
from:http://www.111cn.net/phper/php-cy/61846.htm
你可以再 Windows 2003 上 telnet SMTP host 25 值是否通
163的SMTP 應該是 smtp.163.com 具體看你定義的值了。
telnet smtp.163.com 25
注意php文件的編碼
在發送的時候 也要設置編碼
date_default_timezone_set("Asia/Shanghai");//設定時區東八區
$mail->CharSet ="UTF-8";//設定郵件編碼,默認ISO-8859-1,如果發中文此項必須設置