解决wordpress发送邮件的问题及重置密码链接出错的问题

这几天想起有个事情,就是wordpress是支持发送邮件的,尤其是在忘记密码的时候,这时候可以通过请求发送重置的邮件。今天试了一下,却出现了问题。报了下面这个错误。

disable-mail

谷歌了一下,原来是因为AWS没有安装sendmail应用。安装完,还需要将sendmail配置到php.ini中。

sudo apt-get install sendmail
sudo vim /etc/php5/apache2/php.ini +971

sendmail_path = /usr/sbin/sendmail -t -i

然后就是需要登陆amazon的WEB配置,在Security Group中开启smtp的规则。这样才能发送成功邮件。这样配置好了,拿小号试了一下,果真可以发送邮件成功。但是点击邮件要重置密码的时候,却出现了。

key-error

继续谷歌一番,原来是有发送的邮件链接上有问题,多了后面的一个“>”中括号。所有就需要把括号去掉。直接改了下wp-login.php的代码。

sudo vim wp-login.php +365

原来的代码为

$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";

索性将括号去掉。这样就不用担心了。

$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";

再次实验,可以发送成功了,并且链接也不会再出错。当然,还有其他的办法,可以不修改wp-login.php的,可以查看下面的参考资料中的内容。

参考资料:

修复 WordPress 找回密码提示“抱歉,该key似乎无效”

LNMP笔记:解决mail函数不能发送邮件

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Scroll to top