Sendmail 发送除收件人来自同一域的邮件之外的所有邮件

Sendmail 发送除收件人来自同一域的邮件之外的所有邮件

我正在使用以下设置。

客户的 DNS 指向 Hostgator,但客户想测试他的网站在 DigitalOcean 上运行是否更快。因此,我指向 DigitalOcean 的唯一 DNS 记录是:

site.com          A         xxx.xxx.xxx.xxx
www.site.com      CNAME     site.com
site.com          AAAA      abcd:abcd::::::0001 (example ip6)

其余 DNS 记录指向 hostgator 服务器。

我配置了sendmail从网站发送邮件,并且一切正常,直到目标地址是[email protected]

我很确定它将这次投递视为本地投递,并且永远不会发送到服务器之外。

这是我的sendmail.mc文件,只是我修改过的部分:

...
FEATURE(`no_default_msa')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
dnl DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl
dnl DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
...
...
MAILER_DEFINITIONS   -- I haven't touched these three lines
MAILER(`local')dnl
MAILER(`smtp')dnl


dnl define(`MAIL_HUB', `site.com.')dnl  
dnl define(`LOCAL_RELAY', `site.com.')dnl

LOCAL_RULESETS
LOCAL_RULE_0

define(`confDONT_PROBE_INTERFACES', `true')dnl

R$* < @site.com. > $*   $#esmtp $@ mail.site.com $: $1<@site.com.>$2

我的local-host-names原本是:

site.com
localhost

改为:

localhost

另外,我的/etc/hosts文件有这一行:

127.0.0.1 site.com {servername} localhost.localdomain localhost

在这种情况下{servername}是我的服务器的本地名称。

相关mail.log条目:

Mar 23 01:36:13 servername sendmail[15492]: 02N1aD4f015492: from=www-data, size=5902, class=0, nrcpts=2, msgid=<[email protected]>, relay=www-data@localhost
Mar 23 01:36:13 servername sm-mta[15493]: 02N1aDOf015493: <[email protected]>... User unknown

我认为此日志条目基本描述了该情况。用户未知部分。其余的日志条目都很好,但这是域所在位置失败的条目@site.com

我按照这些教程操作过,但似乎仍然不起作用:

  1. https://tecadmin.net/install-sendmail-on-ubuntu/
  2. http://biostall.com/how-i-resolved-my-ubuntu-sendmail-woes/

我应该在 sendmail 的配置中修改什么才能表明该服务器未接收电子邮件?

相关内容