- 您的位置: 网站制作 日志内容
PHP mail()发邮件无法指定发件人的问题
作者:admin 日期:2010/03/28
某个网站域名因为用了CDN,ping得的结果并不是服务器的IP,而是cname解析
****.com. 3600 IN CNAME a.****.com.cdn20.com.
a.****.com.cdn20.com. 600 IN CNAME 1st.ecomA.glb0.lxdns.com.
1st.ecomA.glb0.lxdns.com. 34 IN A 123.103.14.***
服务器的邮件系统是用sendmail,结果,用php的mail()函数发邮件的时候,发件人如果设置为@****.com,就会无效,邮件可以发出,但收件方看到发件人是@1st.ecomA.glb0.lxdns.com。
尝试在/etc/hosts里强制设定该域名的DNS解析,也无效。
原来,默认情况下,sendmail使用DNS服务器解析域名,不会使用/etc/hosts里的设置。解决方法是在/etc/mail/service.switch里设置sendmail解析域名的方式。
如果你想让sendmail先从hosts文件解析域名,然后再通过DNS服务器解析域名,在service.switch里输入以下内容(建议使用):
hosts files dns
如果你想让sendmail仅仅从hosts解析域名,在service.switch里输入以下内容:
hosts files
然后重启sendmail
service sendmail restart
就会生效了。
文章来自:
Tags: 





