新网主机php函数设置不见了,WordPress发送邮件提示“您的主机禁用了Mail函数”解决方案...

博客作者在测试WordPress主题时遇到SMTP邮箱设置问题,导致评论回复邮件无法正常发送且无审核提示。经过排查,发现原因是收件邮箱与发件邮箱相同。解决方案包括使用PHP探针检查mail()函数是否禁用,以及在主机禁用或支持mail函数的情况下如何配置SMTP发送邮件。最终,通过更换发件邮箱解决了问题,减少了不必要的邮件通知。
摘要由CSDN通过智能技术生成

【媷羊毛】knsuXbQfNaW

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

具体问题情况

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

可能原因:您的主机禁用了mail()函数。

检测mail函数是否禁用

使用PHP探针来检测主机商是否禁用了mail函数。

PHP探针代码如下,保存为php文件上传到服务器打开就可以测试出来:

解决方案

本来以为是衡天主机禁用了mail()函数,但是通过PHP探针发现,并没有禁用。

下面缙哥哥提供禁用和支持mail函数都出现mail函数被禁用的解决方案给大家,亲身经历啊,别再有人栽倒这里了。

主机禁用mail函数解决方案

通过上面的PHP探针,如果发现主机禁用了mail函数则直接使用SMTP发送邮件来代替原来的mail函数

在这里送上缙哥哥使用的SMTP邮箱设置代码(示例为缙哥哥的博客邮箱设置),丢进 functions.php 就行了。function mail_smtp( $phpmailer ){

$phpmailer->From = "blog@dujin.com"; //发件人

$phpmailer->FromName = "缙哥哥的博客"; //发件人昵称

$phpmailer->Host = "smtp.ym.163.com"; //SMTP服务器地址

$phpmailer->Port = 25; //SMTP端口,常用的有25、465、587,具体谷歌百度

$phpmailer->SMTPSecure = ""; //SMTP加密方式,常用的有SSL/TLS,具体谷歌百度

$phpmailer->Username = "blog@dujin.com"; //邮箱帐号

$phpmailer->Password = ***********; //邮箱密码(缙哥哥就用星号代替了)

$phpmailer->IsSMTP(); //使用SMTP发送

$phpmailer->SMTPAuth = true; //启用SMTPAuth服务

}

add_action('phpmailer_init','mail_smtp');

主机支持mail函数解决方案

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值