為什麼 sendmail 會更改 FROM 域以及如何配置正確的域?
我安裝了 Jenkins 並將其配置為從“jenkins@jenkins.example.com”發送電子郵件,但是在發送電子郵件時地址總是會更改,並且我收到的郵件是從“jenkins@default.vps.example”發送的.com”。
我已經安裝了 Sendmail 並且 Jenkins 被配置為使用 127.0.0.1 作為郵件伺服器。
知道為什麼在發送電子郵件時 Sendmail 會替換 FROM 域嗎?
伺服器的主機名設置正確(當我執行時,
hostname
我確實得到“jenkins.example.com”)。如果我從命令行發送電子郵件,同樣的方式
echo "This is the body" | mail -s "Subject" u@d.com
default.vps.example.com
這個域從哪裡來?這個預設域在哪裡可配置?LE:在我的 sendmail.mc 中有
define(
confDOMAIN_NAME’,jenkins.domain.com')dnl
我生成了 sendmail.cf 文件m4 sendmail.mc > sendmail.cf
並重新啟動了 sendmail。還是不行。樂2:
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address> > canonify input: jenkins @ jenkins . example . com Canonify2 input: jenkins < @ jenkins . example . com > dns_getcanonname(jenkins.example.com, trymx=1) dns_getcanonname: trying jenkins.example.com. (AAAA) YES dns_getcanonname: trying default.vps.example.com. (AAAA) NO: errno=0, h_errno=4 dns_getcanonname: trying default.vps.example.com. (A) YES dns_getcanonname: default.vps.example.com Canonify2 returns: jenkins < @ default . vps . example . com . > canonify returns: jenkins < @ default . vps . example . com . > >
您的 sendmail 很可能將名稱替換
CNAME
為“真實名稱”的 DNS 記錄(DNS 別名)。作為 root 執行
echo '3 jenkins@jenkins.example.com' | sendmail -d8.20 -bt
它應該在電子郵件地址預處理期間向您顯示 DNS 查詢(通過規則集
3
)。郵件 RFC 821 中的DJ Bernstein
CNAME 記錄
禁止在 SMTP 請求中的域名中使用“暱稱或別名”。RFC 1123 明確禁止在 MAIL 和 RCPT 請求中使用 DNS 別名(具有 CNAME 記錄的域)。
sendmail 接受具有 CNAME 記錄的域。在 RCPT 中使用之前,它會用 CNAME 值替換域,除非它充當啞客戶端。類似的評論適用於 qmail 和其他郵件程序。