WordPress无疑是最强大的PHP+MYSQL博客系统,简单、灵活、拓展强,没事折腾折腾代码也挺爽。建立这个博客的初衷,也旨在分享、学习、快乐。这两天蛮头疼,主要是WordPress无法发送邮件的问题,让小拼纠结了。
1)WordPress后台设置正确,选择“用户必须注册并登录才可以发表评论”、“有人发表评论时、评论等待审核时发送电子邮件”和“用户找回密码”功能,经测试均无效,收不到邮件;
2)安装留言回复插件:Comment Reply Notification,在回复用户评论时,还是收不到邮件。
针对上述问题,小拼Google、百度了N久,参考了无数资料,总算解决了,下面分享下解决思路,将“雷锋精神”发扬光大:-)
WordPress无法发送邮件,通常都是放置博客的服务器自身问题,而不是WordPress程序的问题。Linux主机还算幸福,一般不用操心mail()函数的问题。Win主机大多支持情况不是很好,主要现在垃圾邮件横行,IDC商也是头大的很,干脆禁了mail()函数,一了百了。
WordPress发送邮件的原理很简单,它是通过PHP中的mail()函数来实现的,所以我们首先要解决的就是测试服务器对mail()函数的支持情况,小拼提供三种解决方案,随你喜欢。
1)新建一个PHP文件,命名为mail_test.php,加入以下代码:
1 |
<?php phpinfo(); ?> |
将mail_test.php上传至网站根目录,访问该文件,就可以看到你的服务器PHP详细配置信息了,其中的sendmail_path组件,如果值是-t -i,则说明你的服务器支持mail()函数。
2)在上面的mail_test.php文件中,加入以下代码:
1 2 3 4 5 6 7 8 |
<?php $text = "This is a test!"; // 将邮箱地址改成你的 $mail = 'xpsem2010@gmail.com'; // 发送邮件 mail($mail, "Mail Test", $text); echo "Message has been sent !"; ?> |
同上,访问mail_test.php文件,如果你的邮箱收到名为Mail Test的新邮件,那表示你的服务器是支持mail()函数发送邮件的。
3)在mail_test.php中加入如下代码:
1 2 3 4 |
<?php if (function_exists('mail')) echo "^_^ mail()函数可以使用!"; else echo "- -! mail()函数不可以使用!"; ?> |
以上三种方法,就可以准确地测试出你的服务器对mail()函数的支持情况了。如果不支持mail()函数的话,就去找你的IDC商沟通吧!当然,还是一种很好的解决方案,小拼推荐一款很好用的插件——Configure SMTP,轻松几步,就能完美解决你的Wordpress无法发送邮件的问题了。
PHP支持mail()函数 Gmail发送邮件失败
相信不少朋友也遇到过这样的问题,我的PHP支持mail()函数的,为什么Gmail还是发送不了邮件?其实,这个问题也很好解决,主要是PHP中open_ssl扩展没有打开。直接打开php.ini文件,找到;extension=php_openssl.dll,将前面的分号;去掉,重启IIS即可。
WordPress通过电子邮件(Gmail)发布文章
这个功能小拼是不用的,毕竟电子邮件发布文章弊端还是蛮多的,比如只能设置默认分类,不能发布图片和链接等,不过对于纯文字支持还是很好的:-)
分享下Wordpress管理后台-撰写选项
邮件服务器地址:ssl://pop.gmail.com(Gmail采用的安全连接,应该以ssl://开头)
端口号:995
用户名:*********@gmail.com
密码: *******
默认邮件分类:未分类(这个你随意,Lonhowe选择的就是“未分类”这个与主题最相近的分类)
之后访问你的Wordpress根目录下的wp-mail.php激活即可。
好了,以上就是小拉对WordPress无法发送邮件问题的说明了,总结一下解决思路:首先测试PHP是否支持mail()函数,不支持的话有两个解决办法,其一找你的WordPress空间商沟通,其二安装Configure SMTP插件。另外,对Gmail发送邮件失败和通过电子邮件(Gmail)发布文章的问题也作了补充说明,希望能帮到你!