前两天忘记了wordpress的后台密码,找回的过程中给出如下提示:
无法发送电子邮件。
可能原因:您的主机禁用了mail()函数。
后来发现注册的时候密码邮件发送也是不成功的,就寻思找个时间解决这个问题。
国庆假期刚好抽空研究,结果让我很惊讶,于是记录下来。
首先是wp提示禁用了mail()函数,但是之前在配置wecenter的时候已经把邮件发送调通了,一切正常。
但是毕竟提示了,那就测试一下吧。网上搜索,用个探针进行测试。
1 2 3 4 |
<?php if (function_exists('mail')) echo "^_^ mail()函数可以使用!"; else echo "- -! mail()函数不可以使用!"; ?> |
测试完全没有问题。然后又研究半天还是没找到头绪,决定彻底测试一下,确认不是mail()函数的问题,于是用了第二个探针。
1 2 3 4 5 6 7 8 |
<?php $text = "This is a test!"; // 将邮箱地址改成你的 $mail = 'xxx@163.com'; // 发送邮件 mail($mail, "Mail Test", $text); echo "Message has been sent !"; ?> |
这次发现个问题,网页显示发送完成,但是邮箱却收不到,看来是mail()函数运行中出了问题。
于是去找日志,结果发现根本没有日志,既找不到日志文件,又无法在系统日志中找到。不会是没装邮件程序吧,不应该啊,毕竟wecenter邮件好好的啊!还是检查下比较好。
1 |
ps aux | grep sendmail |
返回
1 |
root 7458 0.0 0.1 13420 940 pts/0 S+ 07:32 0:00 grep --color=auto sendmail |
果然是没装!!!
So,直接安装好了。