WordPress用户注册无法接收邮件等相关问题的解决方法

2015-08-13把我给崩了 的分享

  为了增加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 = “youname@xxx.com; // 电邮用户名

  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++进行编辑。

TA发布的帖子

864

收藏

605