我尝试向 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
经过大量搜索和测试,我终于找到了解决方案:
- 我从 OpenDNS 解析器切换到我的网络主机提供的解析器。
- 然后我按照 AlekSandar 提到的,将 mydestination = $myhostname, localhost.localdomain, localhost 添加到 Postfix 配置中
这使得它能够工作。