Apr282011
WordPress 无法发送邮件
在后台界面使用忘记密码功能时,提示主机可能不支持mail()函数;
那么主机是否支持mail()呢?
测试方法1、新建一个PHP文件,内容为以下代码:
phpinfo()
?>
上传到空间,访问该文件。看到详细的PHP服务器配置信息了,查看其中的sendmail_path组件,设置如果是-t -i ,说明你的主机就支持mail()功能。
测试方法2、新建个php 文件,上传到空间,内容如下:
访问之后,就能直观地告诉你主机空间是否支持mail()功能。
测试方法3、其实也就是基于方法1和2 做出来的PHP探针,网上有不少PHP探针,可以自行下载。
方法1和2的结果都是表明主机是支持mail()函数的。所以不要给WordPress忽悠了。好比有人电话打不通,就说手机坏了。其实说不定是没信号。
接下来最好的办法其实是到主机查看相关日志。
因为主机是使用sendmail来发送邮件的,所以查看sendmail的日志。
1 | NOQUEUE: SYSERR(apache): can not chdir(/var/spool/clientmqueue/): Permission denied |
再下该文件夹的属性。发现权限是770 ,所属是snmp 和 root组
本文固定链接: https://iplaylinux.com/wordpress-mail-function-issue.html | Linux玩家
向博主请教两个简单问题:
2012-06-13 下午 10:531、sendmail的日志路径是?
2、查看的哪个文件夹的属性是770?如果发现权限不够,是否需要赋予更高权限,或者是否更改所属用户和组?
重新回复下:
2012-06-13 下午 10:581.通常是/var/log/mailing
2.查看的就是日志中提到的文件夹/var/spool/clientmqueue/的权限.如果发现权限不够,可将用户apache添加到具有权限的组中,图省事的话就直接加成777.但这是不安全不谨慎的做法,个人不推荐.但可以先这么做来排除问题.