為了增加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文件
也有一種方法是直接在wp-includes目錄下的pluggable.php文件下面加上如下代碼,大家可以自己嘗試。
再解決”由***代發”的問題。繼續搜索”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++進行編輯。