Postfix

Postfix 完全忽略 main.cf 中的中繼主機設置

  • October 29, 2021

我在向中繼主機發送電子郵件時遇到問題。所有郵件都是直接投遞的。

postconf -n:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = loopback-only
inet_protocols = all
mailbox_size_limit = 0
mydestination =
myhostname = webserver.example.com
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost = smtp.example.com
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

Mailq 和日誌顯示郵件試圖直接連接到mail.h-email.net而不是我的中繼伺服器。

輸出mailq

root@webserver:/etc/postfix# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
9F79E60224      382 Thu Jun 25 09:19:49  root@webserver.example.com
        (connect to mail.h-email.net[107.21.213.75]:25: Connection timed out)
                                        tguadagnin@gmail.com

-- 0 Kbytes in 1 Request.

mail.log 的輸出

Jun 25 09:20:20 webserver postfix/smtp[6998]: 9F79E60224: to=<tguadagnin@gmail.com>, relay=none, delay=31, delays=0.02/0/31/0, dsn=4.4.1, status=deferred (connect to mail.h-email.net[107.21.213.75]:25: Connection timed out)

日誌顯示relay=none,而我的所有其他具有完全相同配置的伺服器正確發送電子郵件並relay=smtp.example.com在其日誌中報告。

這台伺服器的唯一區別是我將它放在不同的網段中,這是我的 DMZ 之一。

我已經設置了規則,以便伺服器本身無法在埠 25 上進行出站通信。伺服器可以通過埠 25 成功與中繼主機通信。

dpkg-reconfigure postfix並且將系統設置為衛星系統並不能緩解這個問題。 mailutils包提供mail命令。

誰能幫我嗎?我一直在努力弄清楚如何正確解決這個問題。

看來 postfix 完全忽略了/etc/hosts.

如果設置relayhost = FQDN而不是 IP 地址,它將嘗試為其 IP 地址解析 FQDN,並且不會使用/etc/hosts它來查找它。如果設置為本機,它將使用系統配置resolv.conf文件。smtp_host_lookup

由於它無法解析我的中繼主機,它只是嘗試將郵件直接發送到乙太網中。我找不到有關這是否是正確行為的詳細資訊。

將中繼主機設置為 IP 地址或確保中繼主機 FQDN 可在不使用/etc/hosts修復此問題的情況下解析。

引用自:https://serverfault.com/questions/701465