linux – 如何为发件人地址配置真实域名

linux – 如何为发件人地址配置真实域名,第1张

概述我尝试使用php mail()函数发送电子邮件,但它以某种方式失败,抱怨需要一个真正的域名.在maillog中观察到以下情况: sendmail 4984 r25984: from=apache, size=273, class=0, nrcpts=1, msgid=<[email protected]>, relay=apache@localhost sendmail 4 我尝试使用PHP mail()函数发送电子邮件,但它以某种方式失败,抱怨需要一个真正的域名.在maillog中观察到以下情况:

sendmail 4984 r25984: from=apache,size=273,class=0,nrcpts=1,
msgid=<[email protected]>,relay=apache@localhost
sendmail 4985 r25985: ruleset=check_mail,
arg1=,relay=mydomain.com [127.0.0.1],
reject=553 5.5.4 … Real domain name
required for sender address
sendmail 4984 r25984:
[email protected],ctladdr=apache (48/48),delay=00:00:01,
xdelay=00:00:00,mailer=relay,pri=30273,relay=[127.0.0.1]
[127.0.0.1],dsn=5.6.0,stat=Data format error
sendmail 4984
r25984: r25984: DSN: Data format error

只要logrotate出现问题,cron就可以向[email protected]发送电子邮件.我不确定为什么PHP无法这样做.我尝试使用以下命令更改`sendmail.mc中的默认配置

MASQUERADE_AS(`mydomain.com')dnlFEATURE(masquerade_envelope)dnlFEATURE(masquerade_entire_domain)dnlMASQUERADE_DOMAIN(localhost)dnlMASQUERADE_DOMAIN(localhost.localdomain)dnlMASQUERADE_DOMAIN(mycom)dnl

但是,它似乎没有任何影响.已经设置了PHP邮件功能中地址的标题.我还确保启用了SElinux httpd_can_sendmail.我还需要做些什么才能收到邮件?

解决方法 我想我刚解决了.我在/ etc / hosts中有以下内容:
127.0.0.1 www.mydomain.com test.mydomain.com127.0.0.1 cdn.mycdn.com127.0.0.1 localhost.localdomain localhost myserver.com

我需要的是将myserver.com放在localhost.localdomain的前面,以便sendmail认为它使用真实域发送电子邮件.

总结

以上是内存溢出为你收集整理的linux – 如何为发件人地址配置真实域名全部内容,希望文章能够帮你解决linux – 如何为发件人地址配置真实域名所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1043527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存