萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> WordPress用戶注冊無法接收郵件等相關問題的解決方法

WordPress用戶注冊無法接收郵件等相關問題的解決方法

  為了增加Wordpress的博客互動性,一些內容可能需要訪問者注冊登錄後才能查看。Wordpress默認注冊方式是以郵件形式獲取隨機密碼並完成注冊的。但是在測試的時候發現無法接收到網站發來的注冊信息,在排除了SMTP服務正常之後,便是發信端的問題,而通常是環境配置造成的。

  如果采用的是linux VPS,裝載Centos 6.4的系統。Wordpress新用戶注冊發送的郵件默認是采用PHPMailer函數發送,Linux服務器只需要啟用sendmail服務即可。如果是自己的VPS沒有啟用該服務,可以通過以下命令啟用該服務:

  /etc/init.d/sendmail start

  如果是Windows服務器環境的話,則建議使用SMTP協議來發送郵件信息。具體方法如下

  1. 將/wp-includes/pluggable.php這個文件的

  $phpmailer->IsMail();

  修改為

  $phpmailer->IsSMTP();

  就是說不使用Mail函數,換為SMTP方式。

  2. 再修改/wp-includes/class-phpmailer.php這個文件裡的SMTP參數(SMTP VARIABLES)為:

  var $Host = “SMTP.xxx.com”; //你使用的SMTP服務器,如SMTP.163.com。

  var $SMTPAuth = True;

  var $Username = “[email protected]; // 電郵用戶名

  var $Password = “*********” // 電郵密碼

  發件人和email地址的修改方法:

  修改wp-includes目錄下的pluggable.php文件

WordPress用戶注冊無法接收郵件等相關問題的解決方法 三聯

  也有一種方法是直接在wp-includes目錄下的pluggable.php文件下面加上如下代碼,大家可以自己嘗試。

WordPress用戶注冊無法接收郵件等相關問題的解決方法

  再解決”由***代發”的問題。繼續搜索”wordpress@”,Wordpress3.6版本在第1057行:

  $wp_email = 'me@' . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME']));

  該行為Wordpress郵件代發的email地址。當你沒有Web服務器的管理權限,又不想讓別人看到一些不必要的信息時,可以把這裡的email修改成自己的。

  如果發件人為中文名,可能在接收email時會顯示亂碼等現象,這是由於文件編碼導致的,編輯文件時使用UTF-8不帶簽名(UTF-8 無BOM格式)即可,推薦使用Notepad++進行編輯。

copyright © 萬盛學電腦網 all rights reserved