Я настроил новую установку exim для пересылки всех сообщений внешнему SMTP-провайдеру. Я могу проверить по smtp-соединениям, что реле работает нормально.
Теперь мне нужно использовать sendmail (или аналогичную команду exim) для отправки электронной почты с использованием той же маршрутизации.
Из main.log для команды CLI я могу прочитать имя пользователя и имя хоста таким образом (скрытые от реальных адресов):
exim -v -f [realusername@realdomain] [rcpt-to@example.com] < /tmp/message
1egtHK-0002Eb-46 <= user@hostname.localdomain U=ogio P=local S=357 M8S=0 from <user@hostname.localdomain> for [rcpt-to@example.com]
Поскольку exim использует не [realusername @ realdomain], а системного пользователя и имя хоста, реле говорит, что не может доставить сообщение. Что не так в командной строке? То же самое с sendmail (но это псевдоним exim).
Может ли кто-нибудь помочь мне понять, почему это не работает?
Думаю решил проблему. Пользователь, используемый для отправки электронной почты, не был доверенным, как объясняется на странице руководства exim в опции -f.
Итак, я добавил строку в exim.conf:
trusted_users = [local user to be trusted]
Это решило мою проблему. Надеюсь, это поможет кому-то другому.