後綴:不斷將域名附加到發件人
我有兩台設置相同的伺服器。第一個發送郵件正常,另一個不會發送郵件。看來問題出在發件人身上。當我使用以下方式發送本地郵件時:
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 內容。我嘗試明確設置
mydomain
and但這似乎被忽略了,就像放入然後執行並重新啟動 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 都使用正確的地址,沒有添加域。