Linux

sendmail:將域添加到本地使用者名,偽裝主機名

  • February 22, 2018

我想向本地使用者 ( mail username -s test <<< "test") 發送郵件並讓 sendmail 添加域。mail username@domain.tld -s test <<< "test"username郵件發送到完整地址username@hostname.domain.tld

閱讀了有關偽裝的資訊並將其添加到/etc/mail/sendmail.mc

MASQUERADE_AS(`domain.tld')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`masquerade_entire_domain')dnl
FEATURE(`always_add_domain')dnl
MASQUERADE_DOMAIN(`hostname')dnl
MASQUERADE_DOMAIN(`hostname.domain.tld')dnl
MASQUERADE_DOMAIN(`domain.tld')dnl

重新啟動sendmailsendmail.cf自動重建)但/var/log/mail.log仍然告訴我sendmail發送到包含主機名的地址。

如何添加@domain.tld到本地使用者名?

編輯

要求的輸出:

# as username
$ /usr/sbin/sendmail -Ac -bv username
Notice: -bv may give misleading output for non-privileged user
username... deliverable: mailer relay, host [127.0.0.1], user username@hostname.domain.tld

原來,偽裝選項需要放在/etc/mail/submit.mc. 這些都是需要的行:

MASQUERADE_AS(`domain.tld')dnl
FEATURE(`masquerade_envelope')dnl
MASQUERADE_DOMAIN(`hostname')dnl

如果沒有自動為您完成,請重新生成 submit.cf 並重新啟動sendmail它可以工作。

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