1、首先檢查php是否安裝openssl模塊
echo !extension_loaded('openssl')?"Not Available":"Available";
2、接下來(lái)下載PHPMailer模塊放在Vendor目錄下
3、碼代碼
function send_email($to,$subject='',$content=''){
Vendor('PHPMailer.PHPMailerAutoload');
$mail = new \PHPMailer();
$mail->IsSMTP(); // 啟用SMTP
$mail->Host="smtp.qq.com"; //smtp服務(wù)器的名稱(這里以QQ郵箱為例)
$mail->SMTPSecure = "ssl"; //目前規(guī)定必須使用ssl,非ssl的協(xié)議已經(jīng)不支持了
$mail-> Port = 465; //端口號(hào)
//$mail->SMTPDebug = 2; //用于debug PHPMailer信息
$mail->SMTPAuth = true; //啟用smtp認(rèn)證
$mail->Username = "993440512@qq.com"; //你的郵箱名
$mail->Password = "XXXXXX" ; //郵箱授權(quán)碼,注意是授權(quán)碼,不是登錄密碼
$mail->From = "993440512@qq.com"; //發(fā)件人地址(也就是你的郵箱地址)
$mail->FromName = "馮戰(zhàn)魁"; //發(fā)件人姓名
$mail->AddAddress($to); //收件人地址
$mail->WordWrap = 50; //設(shè)置每行字符長(zhǎng)度
$mail->IsHTML(true); // 是否HTML格式郵件
$mail->CharSet="utf-8"; //設(shè)置郵件編碼
$mail->Subject =$subject; //郵件主題
$mail->Body = $content; //郵件內(nèi)容
if($mail->Send()){
echo "success";
}else{
echo $mail->ErrorInfo;//打印錯(cuò)誤信息
}
}
4、之所以SMTP connect() failed是因?yàn)橹班]件配置支持非ssl的協(xié)議,可以配置25端口,但是不知道從何時(shí)開(kāi)始,大部分郵件配置僅支持ssl協(xié)議了,端口號(hào)一般是465,這個(gè)bug也是我費(fèi)了好長(zhǎng)時(shí)間才debug出來(lái),主要?dú)w功于官方提供的$mail->SMTPDebug = 2,這個(gè)調(diào)試參數(shù),讓我找到了問(wèn)題所在。
5、以qq郵箱為例說(shuō)明
配置郵件服務(wù)器和端口號(hào)的地址:
http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=369
這個(gè)找到之后,最重要的一點(diǎn)是Password這個(gè)參數(shù),這個(gè)參數(shù)之前是賬號(hào)的登錄密碼,現(xiàn)在已經(jīng)改成授權(quán)碼了,具體獲取方式:
http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
6、到此結(jié)束,就可以愉快的發(fā)郵件了
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。