我想发送邮件给本地用户(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重新启动的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 username@hostname.domain.tld发布于 2018-02-22 09:14:09
原来,伪装选项需要放在/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
复制相似问题