无法使用 postfix 接收本地邮件

无法使用 postfix 接收本地邮件

我尝试向 root@localhost 发送邮件,但无论我怎么尝试都无法成功。我总是收到 DNS 查找错误:

Dec 20 10:08:56 HD-T2597CL sendmail[4408]: nBKF8uEu004408: from=root@Server1, size=451, class=0, nrcpts=1, msgid=<1261321735.4404@Server1>, relay=root@localhost
Dec 20 10:08:56 HD-T2597CL postfix/smtpd[4409]: connect from Server1[127.0.0.1]
Dec 20 10:08:56 HD-T2597CL postfix/smtpd[4409]: 075FE18080C4: client=Server1[127.0.0.1]
Dec 20 10:08:56 HD-T2597CL postfix/cleanup[4412]: 075FE18080C4: message-id=<1261321735.4404@Server1>
Dec 20 10:08:56 HD-T2597CL postfix/qmgr[3791]: 075FE18080C4: from=<[email protected]>, size=495, nrcpt=1 (queue active)
Dec 20 10:08:56 HD-T2597CL sendmail[4408]: nBKF8uEu004408: to=root@localhost, ctladdr=root@Server1 (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30451, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Ok: queued as 075FE18080C4)
Dec 20 10:08:56 HD-T2597CL postfix/smtpd[4409]: disconnect from Server1[127.0.0.1]
Dec 20 10:08:56 HD-T2597CL postfix/smtp[4413]: 075FE18080C4: to=<[email protected]>, relay=none, delay=0.05, delays=0.05/0/0/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=localhost.localdomain type=MX: Host not found, try again)
Dec 20 13:57:55 HD-T2597CL sendmail[8885]: nBKIvtng008885: from=root@Server1, size=453, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Dec 20 13:57:55 HD-T2597CL postfix/smtpd[8686]: connect from Server1[127.0.0.1]
Dec 20 13:57:55 HD-T2597CL postfix/smtpd[8686]: 97A4618080B9: client=Server1[127.0.0.1]
Dec 20 13:57:55 HD-T2597CL postfix/cleanup[8689]: 97A4618080B9: message-id=<[email protected]>
Dec 20 13:57:55 HD-T2597CL postfix/qmgr[8596]: 97A4618080B9: from=<[email protected]>, size=611, nrcpt=1 (queue active)
Dec 20 13:57:55 HD-T2597CL sendmail[8885]: nBKIvtng008885: to=chris@localhost, ctladdr=root@Server1(0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30453, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Ok: queued as 97A4618080B9)
Dec 20 13:57:55 HD-T2597CL postfix/smtp[8690]: 97A4618080B9: to=<[email protected]>, relay=none, delay=0.04, delays=0.04/0/0/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=localhost.localdomain type=MX: Host not found, try again)
Dec 20 13:57:55 HD-T2597CL postfix/smtpd[8686]: disconnect from Server1[127.0.0.1]

我的配置设置为:

mydomain = domain.org
myhostname = mail.domain.org
myorigin = domain.org

使用默认设置的选项:inet_interfaces mydestination

我的 /etc/hosts 文件:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1   Server1 localhost.localdomain localhost
::1     localhost6.localdomain6 localhost6
209.x.x.x   Server1

我不知道现在该怎么办......

答案1

检查 localhost 是否列在 mydestination 下

这是默认设置,但你可能还有其他设置

mydestination = $myhostname, localhost.$mydomain, localhost

还请检查您是否没有设置中继主机,并且 /etc/postfix/transport 是否为空

还请检查 root 是否未在 /etc/aliases 中指定任何别名

答案2

我认为 Postfix 之所以失败是因为它对 domain.org 感到困惑。请运行

主机名 -f

并检查结果:

1. 正确(应该是 Server1.domain.org 。如果不是,请按照下面的说明整理 /etc/hosts)

2.解析为服务器的有效IP地址(可以在/etc/hosts中找到)

再次,恕我直言 - “localdomain” 这个东西简直是令人厌恶的东西,除了让人头疼之外一无是处,一旦服务器到我手中,我就会摆脱它/用真正的域名替换它。我通常会将类似以下内容的内容放入 /etc/hosts 中:

127.0.0.1 localhost.domain.org 本地主机
209.xxx 服务器1.域.org 服务器1

每个名字都在那里一次并且环回和外部名称/地址之间有明显的区别。

答案3

经过大量搜索和测试,我终于找到了解决方案:

  1. 我从 OpenDNS 解析器切换到我的网络主机提供的解析器。
  2. 然后我按照 AlekSandar 提到的,将 mydestination = $myhostname, localhost.localdomain, localhost 添加到 Postfix 配置中

这使得它能够工作。

相关内容