`

禁用mail函数主机实现WordPress邮件通知功能全攻略

 
阅读更多

不能发送邮件

  进入登陆页面,选择忘记密码,进入获取密码页面,填写邮件地址并点击获取新密码,等待数秒后系统提示“无法发送电子邮件。可能原因:您的主机禁用了 mail() 函数...”,解决方案如下:

 

部分虚拟主机提供商为防止垃圾邮件,将服务器mail函数禁用,不仅如此,还关闭了OpenSSL模块(Gmail等邮件系统使用的一种较为安全的邮件加密传输协议),使内置该函数的WordPress自身无法实现邮件通知功能,必须安装相应的插件。博主蓝色贝雷帽经过几天的奋战,终于搞定。现以WP2.8版本为例加以说明。


一、首先打开WP的“嵌套回复”功能
找到WP控制面板“设置”→“讨论”,勾选“允许×层嵌套回复评论”,保存设置。然而经过这一步骤,在日志的评论后面并未出现“回复”字样,说明本人使用的苹果经典主题不支持。于是找来大名鼎鼎的WP-Thread-Comment插件,它具有嵌套回复和邮件通知功能,但后者因主机禁用了mail函数而无法实现。其设置不复杂,勾选相应的选项,保存即可。


二、给WP安装SMTP功能插件
因主机禁用了mail函数,需安装插件实现SMTP功能。惨的是,笔者的主机同时也关闭了OpenSSL模块,所以不得不放弃支持Gmail发送邮件的WP-Mail-SMTP和Configure SMTP两个好插件。我一直认为互联网上“没有做不到,只有想不到”,这次同样如此。我搜索到一款国人Gaf King写的MagicMailer插件,这个小插件看起来朴素简单,但功能非常强大。让我惊喜的是,它可以完全不依赖mail函数而实现SMTP功能(插件作者博客:http://www.himagic.cn/)。作者使用的是sohu邮箱,插件可以支持的很好。更可贵的是,测试发现网易163.com免费邮箱收到的邮件是乱码,在把此信息反馈给插件作者后,作者连夜写出升级版发给我,乱码的问题解决了,令我十分感动,在此表示感谢!!!设置十分简单,这里不再赘述。


三、千万千万注意的问题
经多次测试发现,总是不能够正常收到通知邮件,相反,网易邮箱在漫长等待后收到的却是“未送达邮件”通知,QQ邮箱收到的是“rejected mail”通知。后来无意间才发现问题所在,原来是“发信人”和“收信人”的邮件地址不能是一个,从电邮系统外部自己给自己发邮件,会被疑为垃圾邮件被拒绝(登录邮箱后可以),拒绝后电邮系统会给“发信人”地址发送一份上面提到的通知邮件。
为什么会这样?原因很简单,就是个人博客的管理员同样也是博客的作者,测试评论的时候评论者还是此人,如果不知道上面提到的邮箱地址的限制,就会导致都使用同一个邮箱地址,从而造成上面提到的收不到邮件的结果。笔者特地绘制一幅“过程示意图”,对此加以详解,附图。


发布邮件通知的过程就是:作者发布日志→网友阅读评论→管理员通知作者(灰色箭头不用解释吧)。特别注意的是,在MagicMailer中设置的回复邮箱(署名任意,就是担负发布邮件通知任务的邮箱),与日志作者的邮箱不能相同,测试回复的时候也要用不同的邮箱(别名邮箱是可以的)。
至此,大功告成。

 

文章来源:http://blog.baoli.com.cn/(版权所有,转载清注明出处,谢谢)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics