1. 程式人生 > 其它 >wordpress您的主機禁用了mail()函式 SMTP郵件通知解決方法

wordpress您的主機禁用了mail()函式 SMTP郵件通知解決方法

由於國家規定今後論壇啥的發帖得實名,所以我伺服器測評的網站就關閉了評論,僅註冊了使用者才能評論。

然後看了下wordpress預設的郵件是沒用的,因為預設是用的phpmail()函式來發信,這個多數運營商都是禁止的。

就用SMTP來就行了,之前也設定過,這次我用了QQ郵箱,不管是用外掛還是修改程式碼,死活就是發不了。

提示:SMTP connect failed 的錯誤。

我開始還以為難道新版需要開放特定埠?還去伺服器把465的埠開放了。結果還是不行。

但是我另外的官網用的騰訊企業郵箱就行,我QQ密碼也沒有錯啊,反正就是不行。

然後搜尋了下,才看見現在的騰訊QQ郵箱,用來發信的密碼,並不是QQ密碼,也不是QQ獨立密碼,而是授權碼!!!

這個規則不知道什麼時候改的,我們這種不經常關注的人,就是莫名的不知道。

wordpress騰訊郵箱發信,需要用到QQ郵箱的授權碼。

具體看騰訊官方的說明:授權碼

就是這貨,需要用到這個密碼才行。

然後就一切正常了,我還是用的程式碼,加在當前主題的functions.php函式檔案中

//使用smtp發郵件
add_action('phpmailer_init','mail_smtp');
function mail_smtp( $phpmailer ){
$phpmailer->IsSMTP(); //使用SMTP傳送
$phpmailer->SMTPAuth = true; //啟用SMTPAuth服務
$phpmailer->FromName = "暱稱"; //發件人暱稱
$phpmailer->Host = "smtp.qq.com"; //SMTP伺服器地址,具體地址看什麼郵箱
$phpmailer->Port = 465; //SMTP埠 如果不用ssl就是25,也是看郵箱的
$phpmailer->SMTPSecure = "ssl"; //SMTP加密方式,不用就不要寫
$phpmailer->From = "郵箱帳號"; //郵箱帳號
$phpmailer->Username = "郵箱帳號"; //郵箱帳號
$phpmailer->Password = '郵箱密碼'; //郵箱密碼