ubuntu 14.04 下的 Postfix 配置

ubuntu 14.04 下的 Postfix 配置

我的专用服务器运行的是 ubuntu 14.04。它还配置为 DNS 服务器 (bind),我的域toto.be正指着它。

我还安装了 postfix,添加了 mx 记录,添加了 iptables 规则以打开输入端口 53(udp + tcp)。

好的,现在我正在测试。

  • 在我的服务器上,我可以向本地用户 root 发送电子邮件
  • 在我的服务器上,我可以将电子邮件发送到外部电子邮件地址([电子邮件保护]
  • 来自 Gmail,我不能发送电子邮件到[电子邮件保护]

在我的日志中

Oct  2 14:45:35 mail postfix/smtpd[31278]: connect from mail-qc0-x22b.google.com[2607:f8b0:400d:c01::22b]
Oct  2 14:45:36 mail postfix/smtpd[31278]: NOQUEUE: reject: RCPT from mail-qc0-x22b.google.com[2607:f8b0:400d:c01::22b]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-qc0-x22b.google.com>
Oct  2 14:45:36 mail postfix/smtpd[31278]: disconnect from mail-qc0-x22b.google.com[2607:f8b0:400d:c01::22b]

在我的主配置文件我尝试将 google.com 添加到 mynetworks 但我不认为这是解决方案(对于所有其他域名呢?)

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 google.com

现在消息已被接受,但无法传递

Oct  2 14:49:09 mail postfix/smtpd[31484]: connect from mail-qg0-x231.google.com[2607:f8b0:400d:c04::231]
Oct  2 14:49:10 mail postfix/smtpd[31484]: 541357F836: client=mail-qg0-x231.google.com[2607:f8b0:400d:c04::231]
Oct  2 14:49:10 mail postfix/cleanup[31489]: 541357F836: message-id=<[email protected]>
Oct  2 14:49:10 mail postfix/qmgr[31437]: 541357F836: from=<[email protected]>, size=1754, nrcpt=1 (queue active)
Oct  2 14:49:10 mail postfix/smtp[31490]: 541357F836: to=<[email protected]>, relay=none, delay=0.31, delays=0.3/0/0/0, dsn=5.4.6, status=bounced (mail for toto.be loops back to myself)
Oct  2 14:49:10 mail postfix/cleanup[31489]: 8EC927F83A: message-id=<[email protected]>
Oct  2 14:49:10 mail postfix/bounce[31491]: 541357F836: sender non-delivery notification: 8EC927F83A
Oct  2 14:49:10 mail postfix/qmgr[31437]: 8EC927F83A: from=<>, size=3676, nrcpt=1 (queue active)
Oct  2 14:49:10 mail postfix/qmgr[31437]: 541357F836: removed
Oct  2 14:49:10 mail postfix/smtpd[31484]: disconnect from mail-qg0-x231.google.com[2607:f8b0:400d:c04::231]
Oct  2 14:49:11 mail postfix/smtp[31490]: 8EC927F83A: to=<[email protected]>, relay=gmail-smtp-in.l.google.com[2a00:1450:400c:c02::1b]:25, delay=1, delays=0.03/0/0.17/0.83, dsn=2.0.0, status=sent (250 2.0.0 OK 1412254151 m13si5148612wjw.140 - gsmtp)
Oct  2 14:49:11 mail postfix/qmgr[31437]: 8EC927F83A: removed

我能做些什么 ?

postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_size_limit = 0
mydestination = smtp.toto.be, localhost, localhost.localdomain, localhost
myhostname = smtp.toto.be
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 google.com
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated     defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

/etc/邮件名称

toto.be

答案1

我看到的第一个问题是您只允许发送至 smtp.toto.be 的电子邮件;而没有任何地方提到您接受发送至 toto.be 的电子邮件,所以......

myhostname = smtp.toto.be
mydomain = toto.be
mydestination = $myhostname, $mydomain, $mynetworks, localhost, localhost.localdomain 
myorigin = $mydomain

答案2

要做的一件事是在 postfix.conf 中确保将“myorigin”设置为 toto.be 域,以便本地用户映射到 @toto.be。这可以通过以下几种方式完成:

myorigin = $mydomain

(如果您在某处设置了 $mydomain ),或者:

myorigin = /etc/mailname

(如果您有一个名为 /etc/mailname 的文件,其中 toto.be 作为第一行),或者甚至明确地像这样:

myorigin = toto.be

此外,错误“(toto.be 的邮件循环回到我自己)”表示路由出了问题。我曾经遇到过这个问题,发现从 postfix.conf 中删除“relayhost = $myhostname”就可以解决问题。

参考: http://www.postfix.org/postconf.5.html#myorigin

相关内容