我想向本地用户 ( 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
即可。