- 資訊首頁(yè) > 互聯(lián)網(wǎng) > 經(jīng)驗分享 >
- PHPMailer下載和利用PHPMailer發(fā)送郵件教程
PHPMailer是一個(gè)封裝好的、用于發(fā)送電子郵件的PHP函數包, PHP程序可以使用PHPMailer直接發(fā)送HTML內容的電子郵件。那么如何實(shí)現呢?只需要下載一個(gè)PHPMailer,并在自己的代碼中使用即可。小編這里就給大家帶來(lái)詳細的圖文教程。
1、訪(fǎng)問(wèn)地址:https://github.com/PHPMailer/PHPMailer/,下載PHPMailer。
2、使用phpinfo()函數查看socket和openssl擴展信息是否已啟用(因為PHPMailer需要PHP的sockets擴展支持,而登錄QQ郵箱SMTP服務(wù)器則必須通過(guò)SSL加密的,所以PHP還要有openssl的支持)。
3、如果openssl沒(méi)有開(kāi)啟,可以在php.ini文件里開(kāi)啟,方法就是檢查是否存在“;extension=php_openssl.dll”,有的話(huà)去掉前面的注釋符‘;’, 如果沒(méi)有就按照圖示添加“extension=php_openssl.dll”。
4、本文我們以QQ郵箱來(lái)控制郵件的中轉方式,所以先開(kāi)啟QQ郵箱的SMTP服務(wù)。如圖所示,選擇IMAP/SMTP 服務(wù),點(diǎn)擊開(kāi)啟服務(wù)。
5、發(fā)送短信“配置郵件客戶(hù)端”至1069 0700 69,驗證密保。
6、獲取授權碼(SMTP服務(wù)器認證密碼)。
7、新建一個(gè)測試文件,比如test.php,然后加入下面的代碼:
<?php
/*發(fā)送郵件方法
*@param $to:接收者 $title:標題 $content:郵件內容
*@return bool true:發(fā)送成功 false:發(fā)送失敗
*/
function sendMail($to,$title,$content){
//引入PHPMailer的核心文件 使用require_once包含避免出現PHPMailer類(lèi)重復定義的警告
require_once("phpmailer/class.phpmailer.php");
require_once("phpmailer/class.smtp.php");
//實(shí)例化PHPMailer核心類(lèi)
$mail = new PHPMailer();
//是否啟用smtp的debug進(jìn)行調試 開(kāi)發(fā)環(huán)境建議開(kāi)啟 生產(chǎn)環(huán)境注釋掉即可 默認關(guān)閉debug調試模式
$mail->SMTPDebug = 1;
//使用smtp鑒權方式發(fā)送郵件
$mail->isSMTP();
//smtp需要鑒權 這個(gè)必須是true
$mail->SMTPAuth=true;
//鏈接qq域名郵箱的服務(wù)器地址
$mail->Host = 'smtp.qq.com';//163郵箱:smtp.163.com
//設置使用ssl加密方式登錄鑒權
$mail->SMTPSecure = 'ssl';//163郵箱就注釋
//設置ssl連接smtp服務(wù)器的遠程服務(wù)器端口號,以前的默認是25,但是現在新的好像已經(jīng)不可用了 可選465或587
$mail->Port = 465;//163郵箱:25
//設置smtp的helo消息頭 這個(gè)可有可無(wú) 內容任意
// $mail->Helo = 'Hello smtp.qq.com Server';
//設置發(fā)件人的主機域 可有可無(wú) 默認為localhost 內容任意,建議使用你的域名
$mail->Hostname = 'http://localhost/';
//設置發(fā)送的郵件的編碼 可選GB2312 我喜歡utf-8 據說(shuō)utf8在某些客戶(hù)端收信下會(huì )亂碼
$mail->CharSet = 'UTF-8';
//設置發(fā)件人姓名(昵稱(chēng)) 任意內容,顯示在收件人郵件的發(fā)件人郵箱地址前的發(fā)件人姓名
$mail->FromName = 'xxxxx';
//smtp登錄的賬號 這里填入字符串格式的qq號即可
$mail->Username ='xxxxx@qq.com';
//smtp登錄的密碼 使用生成的授權碼(就剛才叫你保存的最新的授權碼)
$mail->Password = '填寫(xiě)第1步獲取的授權碼';//163郵箱也有授權碼 進(jìn)入163郵箱帳號獲取
//設置發(fā)件人郵箱地址 這里填入上述提到的“發(fā)件人郵箱”
$mail->From = 'xxxxx@qq.com';
//郵件正文是否為html編碼 注意此處是一個(gè)方法 不再是屬性 true或false
$mail->isHTML(true);
//設置收件人郵箱地址 該方法有兩個(gè)參數 第一個(gè)參數為收件人郵箱地址 第二參數為給該地址設置的昵稱(chēng) 不同的郵箱系統會(huì )自動(dòng)進(jìn)行處理變動(dòng) 這里第二個(gè)參數的意義不大
$mail->addAddress($to,'愛(ài)代碼,愛(ài)生活世界');
//添加多個(gè)收件人 則多次調用方法即可
// $mail->addAddress('xxx@163.com','愛(ài)代碼,愛(ài)生活世界');
//添加該郵件的主題
$mail->Subject = $title;
//添加郵件正文 上方將isHTML設置成了true,則可以是完整的html字符串 如:使用file_get_contents函數讀取本地的html文件
$mail->Body = $content;
//為該郵件添加附件 該方法也有兩個(gè)參數 第一個(gè)參數為附件存放的目錄(相對目錄、或絕對目錄均可) 第二參數為在郵件附件中該附件的名稱(chēng)
// $mail->addAttachment('./d.jpg','mm.jpg');
//同樣該方法可以多次調用 上傳多個(gè)附件
// $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');
$status = $mail->send();
//簡(jiǎn)單的判斷與提示信息
if($status) {
return true;
}else{
return false;
}
}
//測試
$flag = sendMail('xxxxxx@163.com','注冊成功','恭喜你加入我們');
if($flag){
echo "發(fā)送郵件成功!";
}else{
echo "發(fā)送郵件失敗!";
}
8、填寫(xiě)好相應的數據,運行該頁(yè)面,即可發(fā)送成功。
以上就是PHPMailer下載以及PHP程序利用PHPMailer發(fā)送郵件的流程,希望對大家有所幫助。
來(lái)源鏈接:https://www.idcspy.com/phpmailer.html
本站聲明:網(wǎng)站內容來(lái)源于網(wǎng)絡(luò ),如有侵權,請聯(lián)系我們,我們將及時(shí)處理。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站