本站使用的主機(jī)由于不支持mail()函數(shù),導(dǎo)致不能正常的發(fā)送通知郵件,,所以之前使用了WP SMTP這個插件進(jìn)行郵件的收發(fā),。
本著能不用插件就不用的原則……
我們這次可以將WP SMTP,Configure SMTP以及WP Mail SMTP等一系列smtp郵箱發(fā)送方式徹底整合至主題中,,實(shí)現(xiàn)免插件收發(fā)郵件,。所以如果你的郵件功能出現(xiàn)異常,可以嘗試使用此方法解決,。
主機(jī)不支持mail()函數(shù)解決辦法
將以下代碼添加至functions.php中的 <?php 之后:
//smtp發(fā)送郵件功能
function mail_smtp( $phpmailer ){
$phpmailer->FromName = '發(fā)信名';
$phpmailer->Host = 'smtp.exmail.qq.com';//SMTP服務(wù)器地址
$phpmailer->Port = 465;//SMTP服務(wù)器端口
$phpmailer->Username = '發(fā)信郵箱';
$phpmailer->Password = '密碼';
$phpmailer->From = '顯示郵箱';
$phpmailer->SMTPAuth = true; //SMTP認(rèn)證(true/flase)
$phpmailer->SMTPSecure = 'ssl'; //SMTP加密方式tls/ssl/no(port=25留空,,465為ssl)
$phpmailer->IsSMTP();
}
add_action( 'phpmailer_init','mail_smtp' );
//smtp發(fā)送郵件功能設(shè)置完成
其中:
- FromName :發(fā)信所顯示的名字
- Host :SMTP地址,QQ郵箱填寫:smtp.qq.com / 騰訊企業(yè)郵箱:smtp.exmail.qq.com
- Port :SMTP端口,,騰訊企業(yè)郵箱為465
- Username :發(fā)信郵箱賬號
- Password :發(fā)信郵箱密碼
- From :郵件顯示郵箱,,這個可以與發(fā)信郵箱不同 其余無需修改。
- 查詢常用的郵箱服務(wù)器(SMTP,、POP3)地址,、端口 點(diǎn)擊前往
我的設(shè)置如下圖所示,,可參照我的設(shè)置自行修改即可:
萬網(wǎng)虛擬主機(jī)郵件發(fā)送解決辦法
萬網(wǎng)稱:因?yàn)閃ordPress程序使用的不是fsockopen函數(shù)發(fā)信,而是使用stream_socket_client函數(shù)發(fā)信,,但是PHP函數(shù)在萬網(wǎng)主機(jī)虛擬主機(jī)中被禁用了,,所以導(dǎo)致發(fā)信失敗。
如果你使用的是萬網(wǎng)主機(jī),,那除了在functions.php文件中添加以上代碼外,,還需要找到文件/wp-includes/class-smtp.php,,做以下修改:
將如下代碼:
$this->smtp_conn = @stream_socket_client(
$host . ":" . $port,
$errno,
$errstr,
$timeout,
STREAM_CLIENT_CONNECT,
$socket_context
);
修改為:
$this->smtp_conn = fsockopen($host, $port, $errno, $errstr, $timeout);
阿里云萬網(wǎng)主機(jī)的同學(xué),如果有添加以上修改后還是不能發(fā)送郵件的,,請確認(rèn)主機(jī)管理控制臺:高級環(huán)境設(shè)置->php.ini參數(shù)設(shè)置->PHP函數(shù)fsockopen設(shè)置是否啟用,。禁用的,改為啟用,。
即可,。以上。