我想向本機使用者(mail username -s test <<< "test"
)發送郵件並讓sendmail 新增網域。將郵件發送到完整地址 ( ) 是可行的,但如果我僅指定,則郵件發送到的地址無效。mail [email protected] -s test <<< "test"
username
[email protected]
我閱讀有關偽裝的內容並將其添加到/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
重新啟動sendmail
(sendmail.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 [email protected]
答案1
事實證明,偽裝選項需要放置在/etc/mail/submit.mc
.這些是所需的所有行:
MASQUERADE_AS(`domain.tld')dnl
FEATURE(`masquerade_envelope')dnl
MASQUERADE_DOMAIN(`hostname')dnl
如果沒有自動完成,請重新產生submit.cf,然後重新啟動sendmail
,它就可以工作了。