WordPress 」沒法發送電子郵件,可能緣由:您的主機禁用了mail()函數「的解決辦法

WordPress網站中出現 」沒法發送電子郵件,可能緣由:您的主機禁用了mail()函數「的狀況通常都是由於所在主機環境不支持在線郵件收發功能致使,若是不支持的話,那麼像相似 Newsletter、Contact Form 7 等須要用到郵件收發功能的插件就將沒法使用。不過,對於這種問題,絕大多數的主機或服務器仍是能夠解決的,若是如下方法都嘗試後仍是沒法解決郵件收發功能,那麼就只能聯繫你的空間服務商來解決了。php

 

檢查空間是否支持 郵件收發 功能的方法

  1. 1. 非登陸狀態,訪問網站後臺登陸界面(默認爲www.youwebsite.com/wp-login.php),點擊表單下方的 找回密碼 連接,以下圖所示:
  2. WordPress忘記密碼

2. 進入到 找回密碼 頁面,在 用戶名或電子郵件地址 表單中輸入你的用戶註冊郵箱或用戶名,點擊 找回密碼 按鈕,以下圖所示:html

WordPress找回密碼

 

3. 若是出現下圖中的「請在您的電子郵箱中檢查確認連接。」提示,說明主機支持郵件收發功能。web

WordPress郵件收發

若是出現下圖中的「電子郵件未能發送,可能緣由:您的主機禁用了mail()函數。」提示,說明主機不支持郵件收發功能。服務器

 

WordPress郵件收發

 

 

WordPress沒法發送郵件的解決方法

對應普通虛擬主機來講,要開啓 fsockopen(通常是在主機商提供的管理後臺中能夠開啓,不會的請聯繫主機商客服) 。socket

1. 在網站的 /wp-Includes/ 目錄下找到並打開 class-smtp.php 大概是 274-282 行的位置(不一樣版本WordPress可能行數不一樣),找到以下代碼:wordpress

$this->smtp_conn = @stream_socket_client(
$host . ":" . $port,
$errno,
$errstr,
$timeout,
STREAM_CLIENT_CONNECT,
$socket_context
);
函數

將此代碼註釋掉或者刪除,而後修改成如下代碼:網站

 $this->smtp_conn = fsockopen($host, $port, $errno, $errstr);this

修改後,若是仍是沒法發送郵件,在上面步驟完成的狀況下繼續添加以下代碼:加密

/**
* 修復 WordPress 郵件發送」
* 以QQ郵箱爲例**/
function mail_smtp( $phpmailer ){
$phpmailer->From = "service@0513c.com"; //發件人
$phpmailer->FromName = "技術宅"; //發件人暱稱
$phpmailer->Host = "smtp.qq.com"; //SMTP服務器地址
$phpmailer->Port = 25; //SMTP端口,經常使用的有2五、46五、587,具體谷歌百度
$phpmailer->SMTPSecure = ""; //SMTP加密方式,經常使用的有SSL/TLS,具體谷歌百度
$phpmailer->Username = "wpyou@qq.com"; //郵箱賬號
$phpmailer->Password = *********; //郵箱密碼
$phpmailer->IsSMTP(); //使用SMTP發送
$phpmailer->SMTPAuth = true; //啓用SMTPAuth服務
}
add_action('phpmailer_init','mail_smtp');

執行以上操做後您網站的郵件收發功能應該就能夠實現了。若是仍是無法解決,這可能就是隻修改代碼沒法解決了,請聯繫主機商解決處理吧。

 

原文:http://www.wpyou.com/wordpress-unable-to-send-e-mail-solution.html

相關文章
相關標籤/搜索