華文網

解決wordpress用戶註冊收不到郵件驗證

前言

wordpress自帶用戶註冊功能,但是當用戶註冊時,無法收到驗證郵件,本教程就是解決如何此問題!

解決方案

首先找到主題範本函數檔functions.php

添加代碼,修改成自己的郵箱資訊。

// 郵箱驗證function mail_smtp( $phpmailer ){$phpmailer->From = "admin@****.com"; //寄件者$phpmailer->FromName = "分享吧"; //寄件者昵稱$phpmailer->Host = "smtp.qq.com"; //SMTP伺服器地址(比如QQ是smtp.qq.com,騰訊企業郵箱是smtp.exmail.qq.com,阿裡雲是smtp.功能變數名稱,其他自行諮詢郵件服務商)$phpmailer->Port = 25; //SMTP埠,
常用的有25、465、587,SSL加密連接埠:465或587,qq是25,qq企業郵箱是465$phpmailer->SMTPSecure = ""; //SMTP加密方式,常用的有ssl/tls,一般25埠不填,埠465天ssl$phpmailer->Username = "admin@****.com"; //郵箱帳號,一般和寄件者相同$phpmailer->Password = '*********'; //郵箱密碼$phpmailer->IsSMTP(); //使用SMTP發送$phpmailer->SMTPAuth = true; //啟用SMTPAuth服務}add_action('phpmailer_init','mail_smtp');

發送郵件驗證如圖:

點擊上面連結,設置自己的密碼就OK了

注意:

如果設置密碼或者找回密碼時提示 您的密碼重設連結無效,請在下方請求新連結。

這是因為wordpress在連結前後加了”<>”預設連結到了後面的”>”

解決方法:

找到文件pluggable.php,在根目錄/wp-includes/pluggable.php。

修改

$message .= 'user_login), 'login') . "> ";

修改為

$message .= '' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . " ";

接著找到文件wp-login.php,在根目錄/wp-login.php

修改

$message .= ' ";

修改為

$message .= '' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . " ";

結束