Loading
0

WordPress教程 無插件實現SMTP發送郵件

在使用WordPress的過程中,不可避免地要用到郵件功能。WP自帶了mail函數,但用自帶mail函數發送郵件很容易失敗或者被拒收。所以很多人選擇用更方便高效的SMTP來發送郵件。要用SMTP發送郵件,首先需要擁有一個支持SMTP的郵箱(包括Gmail、QQ、126、163等主流郵箱都支持SMTP功能,可能需要到設置中打開),然后在WordPress中簡單設置一下。你可以選擇用插件,Configure SMTP或者WP Mail SMTP都是不錯的插件。前者還支持調試,可以方便地知道是什么原因導致發送失敗。下面介紹的是無插件實現SMTP發送功能,畢竟插件多了對速度有不利的影響。

這個功能實現起來也很簡單,有兩種方法可以實現。

第一種:打開主題文件夾下的functions.php(主機目錄/wp-content/themes/主題名/functions.php),在最后一個 ?> 之前加上下面的代碼即可:

//使用smtp發郵件
add_action('phpmailer_init', 'mail_smtp');
function mail_smtp( $phpmailer ) {
$phpmailer->IsSMTP();
$phpmailer->SMTPAuth = true;//啟用SMTPAuth服務
$phpmailer->Port = 465; //SMTP郵件發送端口,常用端口有:25、465和587(后兩個為ssl安全連接端口)。
$phpmailer->SMTPSecure ="ssl"; //是否通過 ssl 連接,如果端口為25,則此處將"ssl"改為空白即"",否則不必改動
$phpmailer->Host = "smtp.gmail.com"; // SMTP服務器地址,在郵箱設置或者幫助中心中可以找到
$phpmailer->Username = "[email protected]"; //你的郵箱地址
$phpmailer->Password ="******"; //你的郵箱登陸密碼
}

第二種:直接修改WordPress源文件class-phpmailer.php和pluggable.php,這個方法需要對WordPress的2個源文件做小小的修改。好處就是你不需要每次更改主題都修改functions.php,而且更安全。

在WordPress的wp-includes目錄下找到pluggable.php和class-phpmailer.php兩個文件。

將pluggable.php中的”$phpmailer->IsMail(); “替換為:”$phpmailer->IsSMTP();”

在class-phpmailer.php中修改下面對應的設置:

public $Mailer = 'smtp';
public $Host = 'smtp.gmail.com';  //郵箱的SMTP服務器地址
public $Port = 465;  //SMTP郵件發送端口
public $SMTPSecure = "ssl"; //是否驗證 ssl或tls
public $SMTPAuth = true; //開啟SMTPAuth
public $Username = '[email protected]'; //你的郵箱地址
public $Password = '******'; //你的郵箱登陸密碼

快去試一下,跟插件說拜拜吧~