我知道这个问题曾被问过。
当我调用PHP mail()函数时,它返回true。
我检查了php.ini(我正在运行CentOS):
SMTP = localhost
smtp_port = 25
sendmail_path = /usr/sbin/sendmail -t -i
mail.add_x_header = On
我在一个论坛上读到我必须安装sendmail。所以我安装了它。现在,带有mail()函数的站点不再加载。所以我删除了sendmail,mail()函数再次返回true,但不发送邮件。
任何想法?
要发送电子邮件,您需要SMTP服务器(本地或远程)。实际上,您的邮件功能只是将邮件传递到SMTP服务器,而这个功能确实可以发送您的电子邮件。
在您的php.ini中,出现以下行
sendmail_path = /usr/sbin/sendmail -t -i
您应该知道是否使用该配置参数(来自manual):
如果设置,则将忽略smtp,smtp_port和sendmail_from并执行指定的命令。
但是,这里最重要的是,您只需卸载sendmail,以便可以预期您的邮件无处可去。我知道sendmail给您一些问题,可能是配置问题,但是现在您的php.ini配置错误。
怎么解决呢?
开始从php.ini中删除sendmail_path参数。
安装一个简单的配置SMTP服务器,如postfix。
验证后缀正在侦听端口22:
netstat -lnt
尝试从您的php mail()函数发送邮件
确认您的邮件已正确发送(检查/var/log/mail.log或/var/log/mail/mail.log文件)
您还可以验证邮件不在后缀队列中:
后排队-f
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句