PHP網站開發使用PHPMailer發送郵件

2023-03-25    分類: 網站建設

發送郵件的功能大家應該寫過,這里我介紹總結一下使用PHPMailer集成類實現郵件發送,
首先是下載https://github.com/PHPMailer/PHPMailer/
使用 composer 安裝:
composer require phpmailer/phpmaile
準備好后需要一個發件郵箱和發件服務器
我用的是smtp地址
這里使用的郵箱一般可以用163 或者qq
163 smtp.163.com企業郵箱smtp.qiye.163.com
qq smtp.qq.com企業郵箱smtp.exmail.qq.com
其中qq郵箱可能需要去設置開啟服務
準備好后
可以封裝一個專門用于發送郵件的類
class SendemailService
里面有兩個方法
sendEmail 發送郵件和外部調用
setBaseConfig 郵件發送的一些配置
public function setBaseConfig($mail, $data, $get_email = '') {
$config = $this->mailconfig;
$get_email = $get_email ? $get_email : 默認郵箱;
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$mail->isSMTP(); // 使用SMTP服務
$mail->SMTPAuth=true; //身份驗證
$mail->SMTPDebug = 0;
//鏈接域名郵箱的服務器地址smtp.163.com,smtp.qq.com
$mail->Host = ’’;
//設置使用ssl加密方式登錄鑒權
$mail->SMTPSecure = 'ssl';
//設置ssl連接smtp服務器的遠程服務器端口號,以前的默認是25,但是現在新的好像已經不可用了 可選465或587
$mail->Port = 465;
//設置smtp的helo消息頭 這個可有可無 內容任意
// $mail->Helo = 'Hello smtp.qq.com Server';
//設置發件人的主機域 可有可無 默認為localhost 內容任意,建議使用你的域名
$mail->Hostname = '';
//設置發送的郵件的編碼 可選GB2312 我喜歡utf-8 據說utf8在某些客戶端收信下會亂碼
$mail->CharSet = 'UTF-8';
//設置發件人姓名(昵稱) 任意內容,顯示在收件人郵件的發件人郵箱地址前的發件人姓名
$mail->FromName = '';
//smtp登錄的賬號
$mail->Username = ‘’;
//smtp登錄的密碼 使用生成的授權碼
$mail->Password = ‘’;
//設置發件人郵箱地址 這里填入上述提到的“發件人郵箱”
$mail->From = ‘’;
//郵件正文是否為html編碼 注意此處是一個方法 不再是屬性 true或false
$mail->isHTML(true);
//設置收件人郵箱地址 該方法有兩個參數 第一個參數為收件人郵箱地址 第二參數為給該地址設置的昵稱 不同的郵箱系統會自動進行處理變動 這里第二個參數的意義不大
$mail->addAddress($get_email,'');
//添加多個收件人 則多次調用方法即可
// $mail->addAddress('xxx@163.com','lsgo在線通知');
//添加該郵件的主題
$mail->Subject = $data['title'];
//添加郵件正文 上方將isHTML設置成了true,則可以是完整的html字符串 如:使用file_get_contents函數讀取本地的html文件
$mail->Body = $data['detail'];
//$mail->AltBody = "This is the plain text純文本";// 這個是設置純文本方式顯示的正文內容,如果不支持Html方式,就會用到這個,基本無用
return $mail;
}
在開發中容易出現的問題就是亂碼和發送失敗的問題
在配置都開啟的情況下
目前我知道的是PHP版本5.6及以上的版本需要加入
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
如果網站是有ssl證書可以試一試不加
亂碼問題是中文編碼設置為UTF-8
如果還出現亂碼官方文檔有說明
需要進行轉碼
$mail->Subject = "=?utf-8?B?" . base64_encode($data['title']) . "?="

分享名稱:PHP網站開發使用PHPMailer發送郵件
標題網址:http://m.kartarina.com/news4/247504.html

成都網站建設公司_創新互聯,為您提供ChatGPTApp設計網站改版外貿網站建設用戶體驗品牌網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設
主站蜘蛛池模板: 无码日韩人妻精品久久蜜桃| 亚洲爆乳无码专区| 免费A级毛片无码A∨| 国产精品无码专区在线观看| 久久国产三级无码一区二区| 久久精品中文字幕无码绿巨人 | 无码精品人妻一区二区三区免费| 亚洲一区二区三区国产精品无码| 中文字幕日产无码| av无码东京热亚洲男人的天堂| 亚洲大尺度无码专区尤物| AA区一区二区三无码精片| 嫩草影院无码av| 亚洲熟妇无码av另类vr影视| 中出人妻中文字幕无码| 无码人妻精品一区二区蜜桃百度| 无码中文人妻视频2019| 色欲香天天综合网无码| 丰满爆乳无码一区二区三区| 亚洲AV永久纯肉无码精品动漫| 久久亚洲国产成人精品无码区| 久久青青草原亚洲av无码app| 人妻丰满熟妇AV无码区| 性无码一区二区三区在线观看| 国产精品99无码一区二区| 色综合色国产热无码一| 亚洲av无码电影网| 久久亚洲AV无码精品色午夜麻豆| 人妻AV中出无码内射| 国产精品亚洲专区无码唯爱网| 在人线av无码免费高潮喷水| 亚洲午夜无码毛片av久久京东热| 无码精品国产一区二区三区免费 | 亚洲一区二区无码偷拍| 色综合久久无码中文字幕| 亚洲色无码一区二区三区| 东京无码熟妇人妻AV在线网址| 一本色道无码道在线观看| 欧美性生交xxxxx无码影院∵| 午夜寂寞视频无码专区| 人妻丰满熟妇AV无码区|