默認大部分主機空間都無法正常發送郵件,造成用戶注冊不能送郵件、無法找回密碼等,因此需要用第三方郵件服務器SMTP方式代替 wordPress/ target=_blank class=infotextkey>WordPress 默認mail()函數。
相信很多站長都看過網上到處飛的配置WordPress 郵件SMTP方法,但試過之后,總是不成功,例如:
// 配置郵件add_action('phpmailer_init', 'mail_smtp');function mail_smtp( $phpmailer ) {$phpmailer->FromName = '知更鳥'; // 發件人昵稱$phpmailer->Host = 'smtp.qq.com'; // 郵箱SMTP服務器$phpmailer->Port = 465; // SMTP端口,不需要改$phpmailer->Username = '123456@qq.com'; // 郵箱賬戶$phpmailer->Password = 'aabbccddffgg'; // 此處填寫郵箱生成的授權碼,不是郵箱登錄密碼$phpmailer->From = '123456@qq.com'; // 收件郵箱賬戶$phpmailer->SMTPAuth = true;$phpmailer->SMTPSecure = 'ssl'; // 端口25時 留空,465時 ssl,不需要改$phpmailer->IsSMTP();}
大部分提供配置代碼的說明中沒有明確寫明第8行$phpmailer->Password 配置中的密碼是郵箱第三方授權碼,而不是郵箱的登錄密碼,這是不能成功發郵件的關鍵之處。
下面僅以QQ郵箱為例,簡單說一下如何開啟郵箱IMAP/SMTP服務和獲得第三方授權碼。
首先將上面的代碼添加到當前主題函數模板functions.php中,并修改其中的相關信息。
開啟IMAP/SMTP服務
登錄你的QQ郵箱,依次點擊,設置 → 賬戶,找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務”設置選項,開啟郵箱“IMAP/SMTP服務”。
獲取授權碼
點擊下面的“生成授權碼 ”,按要求發送短信:配置郵件客戶端,到指定的號碼,之后點擊“我已發送”,會自動生一個授權碼,要記好這個授權碼,因為只顯示一次,沒記住只能再次發送短信了,將這個授權碼填寫到配置信息中即可。
我自己只試過QQ郵箱和126的,其它郵箱方法類似。
注:貌似目前所有郵箱端口都可以設置為465,都支持ssl加密