我有一个 Web 服务器(CentOS 5),我需要能够使用 PHP mail() 函数发送邮件。
我的 PHP mail() 函数工作正常。Sendmail 配置是我需要调整的。
我需要在服务器上配置 sendmail 以发送“From”“[email protected]”。
我知道,如果你去 sendmail 常见问题解答,它会说“我们在伪装和中继(http://www.sendmail.org/m4/masquerading.html)部分详细讨论了这个”但我已经通过了该部分一遍又一遍,我的邮件日志仍然显示如下内容:
Aug 4 15:11:11 tdbb sendmail[30582]: n73Mngeq028343: to=, ctladdr= (48/48), delay=20:21:29, xdelay=00:00:01, mailer=esmtp, pri=2129764, relay=smtp.easydns.com. [64.68.200.52], dsn=2.0.0, stat=Sent (Ok: queued as 6120181E4C)
我宁愿它说:
Aug 4 15:11:11 tdbb sendmail[30582]: n73Mngeq028343: to=, ctladdr= (48/48), delay=20:21:29, xdelay=00:00:01, mailer=esmtp, pri=2129764, relay=smtp.easydns.com. [64.68.200.52], dsn=2.0.0, stat=Sent (Ok: queued as 6120181E4C)
注意 ctladdr 部分。
这是我所做的:
在 /etc/mail/sendmail.mc
我已启用该行:
MASQUERADE_AS(`mydomain.com')dnl
和
FEATURE(masquerade_envelope)dnl
除了这两行之外,我认为我没有更改默认配置的任何内容。
当然,当我完成配置文件后,我会去 /etc/mail 并运行“make”、“make restart”。
确保这些设置已更改 sendmail.cf 文件。我之前不得不与 sendmail 配置作斗争,这需要一些耐心和理解。我通常为它 m4 文件以重新生成 cf 文件,然后重新启动 sendmail 服务。
试试这些:
这些通常对我有用。祝你好运。