我在Centos服务器上使用Sendmail发送
PHP脚本的电子邮件,但问题是邮件被传递到机器上的本地邮箱而不是域的MX记录中指定的 – 实际上指向另一台机器我用于电子邮件.
我想sendmail不尝试本地为机器设置的域发送邮件,是否有一种简单的方法来禁用本地传送?
域不在local-host-names文件中.
我已经做了很多谷歌搜索,我看过:
Sendmail Configuration to not deliver mail to local machine
Disable local delivery in Sendmail
但要么没有答案,要么不适合.
我不想转发到另一台服务器,我只是想让它发送邮件而不管域名.
举个例子:
我有两个服务器,一个是mail.example.com上的邮件服务器和一个web.com服务器,当我在Web服务器上使用smtp服务时,它当前将邮件路由到example.com上的本地邮箱,但是它应该发送到mail.example.com上的邮箱
sendmail -bt的输出返回:
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter > 3,0 info@example.com canonify input: info @ example . com Canonify2 input: info Canonify2 returns: info canonify returns: info parse input: info Parse0 input: info Parse0 returns: info ParseLocal input: info ParseLocal returns: info Parse1 input: info Parse1 returns: $# local $: info parse returns: $# local $: info
我做了什么来禁用本地交付.我将使用example.com域名.
原文链接:https://www.f2er.com/centos/374047.html要求:
> example.com指向分配给其中一个eth接口的IP地址的条目.
> / etc / hosts定义example.com分配给与上面相同的IP地址
> example.com指向Google服务器的MX记录(ASPMX.L.GOOGLE.COM等)
>默认的sendmail安装(我的是在Ubuntu上)
脚步:
vim /etc/mail/sendmail.mc
在末尾:
define(`MAIL_HUB',`example.com.')dnl define(`LOCAL_RELAY',`example.com.')dnl
然后:
sendmailconfig (or /etc/mail/make depending on your distro) service sendmail restart
测试:
echo -e "To: user@example.com\nSubject: Test\nTest\n" | sendmail -bm -t -v echo -e "To: user\nSubject: Test\nTest\n" | sendmail -bm -t -v
您应该看到它连接到Google服务器,然后您应该会看到您的邮件已发送到您的Google收件箱.