Назад | Перейти на главную страницу

sendmail: добавление домена к локальным именам пользователей, маскировка имени хоста

Я хочу отправлять письма локальным пользователям (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 и это работает.