缙哥哥的博客
与你分享我的点点滴滴生活

WordPress发送邮件提示“您的主机禁用了Mail函数”解决方案

280G全国流量的电信星海卡仅需29元/月,长期可续该套餐,随时可注销

最近在测试主题啊,测试主题ing,被一个SMTP邮箱设置搞得茶饭不思,最后找到原因居然是这么简单的环节。

具体问题情况

最近在查找主题BUG的时候发现一个很有趣的现象,就是 SMTP 邮箱设置的问题,评论回复是可以是可以不正常发送的,但是却没有任何审核的提示,缙哥哥之前忘记过一次密码,结果通过邮箱找回出现如下错误:

无法发送电子邮件
可能原因:您的主机禁用了mail()函数。

检测mail函数是否禁用

使用PHP探针来检测主机商是否禁用了mail函数。
PHP探针代码如下,保存为php文件上传到服务器打开就可以测试出来:

<!--?php if (function_exists('mail')) { echo "支持mail()函数!"; } else echo "不支持mail()函数!"; ?-->

解决方案

本来以为是衡天主机禁用了mail()函数,但是通过PHP探针发现,并没有禁用。
下面缙哥哥提供禁用和支持mail函数都出现mail函数被禁用的解决方案给大家,亲身经历啊,别再有人栽倒这里了。

主机禁用mail函数解决方案

通过上面的PHP探针,如果发现主机禁用了mail函数则直接使用SMTP发送邮件来代替原来的mail函数
在这里送上缙哥哥使用的SMTP邮箱设置代码(示例为缙哥哥的博客邮箱设置),丢进 functions.php 就行了。

function mail_smtp( $phpmailer ){
$phpmailer-&gt;From = "[email protected]"; //发件人
$phpmailer-&gt;FromName = "缙哥哥的博客"; //发件人昵称
$phpmailer-&gt;Host = "smtp.ym.163.com"; //SMTP服务器地址
$phpmailer-&gt;Port = 25; //SMTP端口,常用的有25、465、587,具体谷歌百度
$phpmailer-&gt;SMTPSecure = ""; //SMTP加密方式,常用的有SSL/TLS,具体谷歌百度
$phpmailer-&gt;Username = "[email protected]"; //邮箱帐号
$phpmailer-&gt;Password = ***********; //邮箱密码(缙哥哥就用星号代替了)
$phpmailer-&gt;IsSMTP(); //使用SMTP发送
$phpmailer-&gt;SMTPAuth = true; //启用SMTPAuth服务
}
add_action('phpmailer_init','mail_smtp');

主机支持mail函数解决方案

如果测试支持mail函数往下看:

由于之前只有测试管理员的邮箱,后来我试着注册新用户,使用邮箱找回密码的功能,结果邮件正常发送,毫无意外。

接着,我更换SMTP邮箱账户为163邮箱,重新用管理员邮箱找回密码,结果也是正常接收,毫无意外。

终于,大彻了,原来收件邮箱和发件邮箱不能相同。这个结果另我很意外,居然是出现在这么小的环节上,弄得我以为是主题问题,更改了好几次代码,囧,不过也因此修复了一个重大BUG。折腾啊,年轻不折腾还什么时候折腾。

不过话说回来,自从更换了163邮箱后,163邮箱里就收到一大堆的审核啊,评论回复啊,注册啊的邮件提醒,神烦有木有,干脆就单独弄个管理员邮箱作为发件邮箱,这样就可以有效减少接收的邮件,这下子耳根子清静了。

赞(1) 打赏
转载请注明来源及链接:缙哥哥 » WordPress发送邮件提示“您的主机禁用了Mail函数”解决方案
如需 WordPress 优化加速、二次开发、托管等服务,可联系我购买付费服务:点此联系我 | 近期站内热门福利:

评论 23

评论前必须登录!

 

  1. #9

    你好,小白问个比较傻的问题,我vps的邮件服务被我卸载了,是不是就用不了这个发邮件的功能了? 我测试了探针支持mail函数的。如果是前者问题最简单的安装邮件服务器应该是哪个啊 对邮件这块不是很熟悉

    顾锦程8年前 (2016-01-13)
  2. #8

    支持amil函数 还是发送邮件是什么原因啊?

  3. #7

    可以多多关注下哦。。

    清新图片9年前 (2015-05-19)
  4. #6

    我用了这个方法之后还是会出现“您的主机禁用了mail()函数”的提示

    Lee.xia9年前 (2015-05-14)
  5. #5

    为什么你的用网易域名邮箱可以多次发送邮件验证,我的用网易域名后发了几个之后就不行了,就不能再发邮件通知了。你的域名邮箱是不是手机验证过的?

    左艾9年前 (2015-02-06)
  6. #4

    我弄了以后,还是那样呢

    莹莹9年前 (2015-02-05)
  7. #3

    开启邮件回复,自带评论提交会变慢!

    Han9年前 (2015-01-19)
  8. #2

    看不懂

    小狮子-倩倪10年前 (2014-12-17)
  9. #1

    探针回复正常,但是我一用mail就会显示“服务器运行脚本错误”,郁闷中

    fatefree10年前 (2014-09-29)

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册