Postfix

後綴:不斷將域名附加到發件人

  • April 25, 2019

我有兩台設置相同的伺服器。第一個發送郵件正常,另一個不會發送郵件。看來問題出在發件人身上。當我使用以下方式發送本地郵件時:

echo 'Message' | mailx -s 'Test' info@domain.com

在後綴日誌中,它將顯示:

from=<root@subdomain.domain.com.domain.com>

在第一台伺服器上,它正在正確讀取:

from=<root@subdomain.domain.com>

我已經檢查了/etc/hostname, /etc/hosts,驗證了正確的mydomain和。的輸出完全相同:myhostname``postconfig``postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = no
inet_interfaces = localhost
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
relayhost = [host.relay.com]:587
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
smtp_use_tls = yes
unknown_local_recipient_reject_code = 550

設置為所有預設值,mail.cf除了添加中繼主機和 SASL 內容。

我嘗試明確設置mydomainand但這似乎被忽略了,就像放入然後執行並重新啟動 postfix 不會改變任何東西一樣。myhost``main.cf``root: root@subdomain.domain.com``/etc/aliases``newaliases

我也試過用 PHP 腳本發送電子郵件,沒有區別。

伺服器 1 上的main.cf與伺服器 2 上的完全相同,它們都執行相同的系統(CentOS 7)和軟體。唯一的區別是它們位於不同的域(即 subdomain.domain1.com 和 subdomain.domain2.com)上,所以這可能是一種可能性,但似乎遙不可及。

mailx然而,伺服器 1 可以使用上面的命令以及前面提到的 PHP 腳本(這只不過是一個簡單的命令)發送郵件mail()

什麼可能導致後綴明顯忽略域/主機設置,但選擇正確的值但堅持將域添加到發件人地址?

答案是DNS

第一個線索是在日誌中,我注意到它實際上是 sendmail,而不是 postfix,它首先提到了錯誤的地址。

通過Google搜尋,我發現 sendmail 在遇到解析域的錯誤時,顯然是主機+域組合。檢查我的 DNS 配置,我注意到兩件事:我還沒有配置反向 DNS,並且我沒有為伺服器使用的子域指定AAAA 記錄 (IPv6)

添加後,sendmail 和 postfix 都使用正確的地址,沒有添加域。

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