解决WordPress不能发送邮件的方法大全

Դ未知

ߣ老铁SEO

13

2019-10-14 12:44:38

博主之前把一个博客站点搬家,搬家完成以后发现邮件功能失效了!折腾了一整天,找遍了百度,谷歌,360,尝试了无数种办法,仍然没有解决问题,最终终于找到了解决办法。

博主这里的服务器是linux 系统 ,大部分原因是因为主机不支持mail函数那我们需要检查主机是否支持方法如下:

QQ截图20161010002451

mail函数未安装

网上绝大多数的人认为,是LINUX系统没有安装mail函数,导致无法发送邮件。那么先测试 主机是否支持:

使用一个PHP文件来发邮件

在本地新建一个PHP文件取名为mail.php 内容代码如下

<?php
$txt = "hello";
// 以下的邮箱地址改成你的
$mail = "somebody@example.com";
// 发送邮件
mail($mail, "My subject", $txt);
echo "message was sent!";
?>

上传到网站根目录,访问下这个文件,他就会自动发送测试邮件到你指定的邮箱。

如果不支持,那咱们就安装下sendmail组件

yum install sendmail

安装完后重启下php-fpm进程

/etc/init.d/php-fpm restart

来检查下sendmail是否正常运行

/etc/init.d/sendmail status

如果显示正常运行说明已经安装成功了

相关命令 一定要收藏啊,太重要了

/etc/init.d/sendmail start (启动sendmail)/etc/init.d/sendmail stop  (关闭sendmail)/etc/init.d/sendmail restart (重启sendmail)

如果报错,那么就先卸载sendmail

先停止sendmail服务

 /etc/init.d/sendmail stop

取消开机自动启动

chkconfig --levels 345 off sendmail

彻底卸载sendmail

yum remove sendmail

建议重新启动下VPS,然后再次安装sendmail,有人说装好sendmail 邮件组件后,也要重启下VPS。

小谢完全按照要求做了,sendmail运行正常,但是WordPress还是无法发送邮件,见鬼了

sendmail设置绝对路径

 

有人说需要给sendmail设置绝对路径,我打开?/usr/local/php/etc/php.ini 找到了sendmail_path把他修改成

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

别忘了去掉前面的“;”

重启php-fpm进程

/etc/init.d/php-fpm restart

我照做了,但结果还是失败。

禁用SELinux

SELinux根本就没有可用的价值,就相当于windows7中的操作中心。有人说是SELinux 阻止了 http 守护进程发送电子邮件,于是我找到了/etc/sysconfig/selinux 配置文件,发现他默认就是?disabled

好吧,问题根本就没有解决

收件箱问题

经过以上的折腾,仍然无法收到邮件,那很有可能是收件箱的问题了。我用QQ邮箱作为收件箱怎么也收不到,用gmail作为收件箱问题就解决了。可能原因是我用的是美国VPS的关系吧,以前SJY之家放在国内虚拟主机上,QQ邮箱收件就没有问题。

插件实现WordPress邮件功能

使用了插件?Configure SMTP

使用这个插件建议使用谷歌邮箱作为发件箱,他默认有谷歌邮箱配置,第一次发送应该不会成功,需要登录下谷歌邮箱,会提示阻止了什么什么的,点进去一路YES,就OK了。

如果没有提示,请关闭浏览器,然后重新打开浏览器并登录邮箱,看头部是否有红色条形的提示。

 

总结:

其实收不到邮件的最根本的原因就是因为主机不支持 mail函数,解决这个问题基本就成功了。有问题大家留言,我会一个一个解决。

佭ϴý Ѷ Media8ý

在线客服

外链咨询

扫码加我微信

微信:juxia_com

返回顶部