CentOS配置安装Sendmail并让PHP调用发信
分类:linux日期:2013-10-02 - 20:50:03作者:老谢
经博友空空裤兜提醒,博客评论后木有邮件提醒了,遂之哥来检查这个问题
发信是使用sendmail这个程序,检查后发现sendmail没有运行,启动sendmail后测试PHP发信后发现,提示发信成功,但是邮箱实际并没有收到信
接着先检查下sendmail本身发信有没有问题,可以使用下面的命令
echo "This is test mail" | mail -s 'Test mail' your@mail.com |
测试后发现可以正常收信,发件人是root@localhost.localdomain,这说明sendmail本身发信并没有问题,问题可能出在php身上
于是乎开始祭谷歌大神,找到了问题的解决办法,首先编辑php.ini
找到sendmail_path去掉前面的注释,路径修改为/usr/sbin/sendmail -t -i,保存重启php-fpm后继续测试,发现企业邮箱可以收到邮件,但是QQ邮箱却收不到,发信人还是root@localhost.localdomain,于是觉得可能是发信人的问题,比如直接被屏蔽啊等等等,反正我也不知道到底是不是,反正先改了再说,于是继续修改php.ini里面的sendmail参数,改成:
sendmail_path = /usr/sbin/sendmail -fyour@mail.com -t -i |
保存后重启php-fpm测试,收信成功,发信人是我自己的邮箱,至此问题解决!
小贴士
sendmail发送邮件时,如果没有指定附加参数,默认它会把当前主机名作为邮件服务器、 以及命令它发邮件的Linux用户名作为发件者,加入到邮件头部信息。
虚心学习了。
这个我会用到
谢谢 给了我参考 半个月的邮件发送问题解决了