Sendmail 不会向同一域发送电子邮件

Sendmail 不会向同一域发送电子邮件

我在服务器故障和整个互联网上看到过很多关于此问题的参考,但没有一个解决方案能够解决我的问题。

我在 Ubuntu 13.10 上运行 Sendmail 8.14.4,这只是一个 Web 服务器(称之为domain.com),除了通过 php 向用户发送自动消息外,不处理任何传入或传出电子邮件mail()。任何传入的邮件[email protected]都通过 MX 记录设置的不同服务器处理,并按预期工作。似乎经常出现的问题是从服务器发送到的任何电子邮件都在[email protected]本地路由并失败,但任何其他域都按预期工作。

我尝试过许多解决方案,包括添加define(`confDONT_PROBE_INTERFACES', `True')dnl/etc/mail/sendmail.mc,然后运行sendmailconfig并重新启动 sendmail。但是,这并不能解决问题,运行时命令echo $=w | sendmail -bt domain.com仍出现在列表中。我已domain.com从中删除/etc/mail/local-host-names,但是否还需要在其他地方删除它?我需要删除 中的任何引用吗/etc/hosts?当我运行hostname domain.com报告时,我可以更改这一点吗?如果我这样做,是否会导致其他服务出现问题?

放弃这个解决方案后,我还尝试通过添加以下内容来设置中继sendmail.mc

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

但是,这也未能解决问题。我遗漏了什么?如果可能的话,我更希望直接从服务器发送电子邮件,而不是中继,但在这个阶段,任何解决方案都是好的!

更新:我现在已经将主机名更改为www.domain.com,现在似乎可以正确访问邮件服务器,而不是本地路由。但是我现在收到一条错误消息,提示“未知用户?”邮件服务器为该特定用户设置了一个转发帐户,但没有实际的邮箱,这是个问题吗?我添加了以下日志:

Jan 27 12:13:31 www sendmail[1839]: s0RCDV3n001839: from=www-data, size=129, class=0, nrcpts=2, msgid=<[email protected]>, relay=www-data@localhost
Jan 27 12:13:32 www sm-mta[1841]: s0RCDVtW001841: from=<[email protected]>, size=401, class=0, nrcpts=2, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Jan 27 12:13:32 www sendmail[1839]: s0RCDV3n001839: [email protected],[email protected], ctladdr=www-data (33/33), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=60129, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (s0RCDVtW001841 Message accepted for delivery)
Jan 27 12:13:32 www sm-mta[1843]: STARTTLS=client, relay=spool.mail.gandi.net., version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256
Jan 27 12:13:36 www sm-mta[1843]: s0RCDVtW001841: to=<[email protected]>, ctladdr=<[email protected]> (33/33), delay=00:00:05, xdelay=00:00:04, mailer=esmtp, pri=150401, relay=spool.mail.gandi.net. [217.70.184.6], dsn=2.0.0, stat=Sent (Ok: queued as 378B22A89BC)
Jan 27 12:13:36 www sm-mta[1843]: STARTTLS=client, relay=mail.domain.com., version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256
Jan 27 12:13:36 www sm-mta[1843]: s0RCDVtW001841: to=<[email protected]>, ctladdr=<[email protected]> (33/33), delay=00:00:05, xdelay=00:00:00, mailer=esmtp, pri=150401, relay=mail.domain.com. [79.170.40.74], dsn=5.1.1, stat=User unknown
Jan 27 12:13:36 www sm-mta[1843]: s0RCDVtW001841: s0RCDatW001843: DSN: User unknown
Jan 27 12:13:37 www sm-mta[1843]: s0RCDatW001843: to=<[email protected]>, delay=00:00:01, xdelay=00:00:01, mailer=local, pri=30000, dsn=2.0.0, stat=Sent

我已经通过与邮件服务器的 telnet 连接测试了用户,并且该用户已被接受。

答案1

您的服务器应该有一个除 domain.com 之外的 (FQDN) 主机名。之后检查 sendmail 配置中的 LOCAL_DOMAIN 设置。如果有,请删除“domain.com”条目,并且只有 localhost 和 FQDN。

更改 .mc 文件后,不要忘记重新编译 sendmails 配置。

森马,百思特

相关内容