Я использую сервер на AWS (ubuntu), и мне нужна исходящая электронная почта, чтобы иметь возможность отправлять файлы журналов по электронной почте. Для этого я использую ssmtp и Amazon SES (простая служба электронной почты).
У меня есть проверенные адреса электронной почты, и все работает нормально, когда я запускаю тесты из командной строки. Электронное письмо отправлено и получено, как и ожидалось.
У меня проблема с logwatch
. Когда он запускается (как из cron, так и непосредственно мной), я вижу следующую ошибку:
sSMTP[6890]: 554 Transaction failed: User name is missing: 'root'.
у меня есть logwatch
настроить с помощью:
MailFrom = logs@mydomain.com
MailTo = logs@mydomain.com
Оба письма подтверждены с помощью SES.
ssmpt.conf
настроен с помощью:
root=logs@mydomain.com
mailhub=email-smtp.us-east-1.amazonaws.com:465
#rewriteDomain=mydoman.com # Having these uncommented doesn't help
#hostname=mydomain.com
UseTLS=YES
AuthUser=XXXXX
AuthPass=XXXXX
AuthMethod=LOGIN
FromLineOverride=YES
revaliases
:
root:logs@mydoman.com:email-smtp.us-east-1.amazonaws.com:465
logs:logs@mydoman.com:email-smtp.us-east-1.amazonaws.com:465
ssmpt работает, если я отправлю через него электронную почту в качестве теста.
Кто-нибудь знает, что происходит и почему он считает, что имя пользователя отсутствует? Я могу без проблем отправлять электронную почту через ssmpt как «root». Это просто logwatch
это вызывает проблемы.
Спасибо
Хорошо, я наконец понял это.
Несмотря на то, что говорят многие "сайты" в Интернете, вы не изменяете файл logwatch.conf:
/usr/share/logwatch/default.conf/logwatch.conf
Вместо этого вам нужно скопировать этот файл в:
/etc/logwatch/conf/logwatch.conf
И вносить там какие-либо изменения.
После этого все работает. Надеюсь, это избавит кого-то от нескольких дней головной боли.
Оглядываясь назад, я действительно подумал, что было бы странно изменять файл конфигурации в /usr/share
. Я должен был прислушаться к своему чутью.