Я хочу отправлять письма локальным пользователям (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
Оказалось, что варианты маскарадинга нужно размещать в /etc/mail/submit.mc
. Это были все необходимые строки:
MASQUERADE_AS(`domain.tld')dnl
FEATURE(`masquerade_envelope')dnl
MASQUERADE_DOMAIN(`hostname')dnl
Восстановите submit.cf, если это не было сделано автоматически, и перезапустите sendmail
и это работает.