AWS(ubuntu)でサーバーを実行していますが、ログファイルをメールで送信できるようにするには送信メールが必要です。これを行うために、私はssmtpとAmazonのSES(Simple Email Service)を使用しています。
メールアドレスを確認しましたが、コマンドラインからテストを実行するとすべて正常に機能します。メールは期待どおりに送受信されます。
私が抱えている問題はlogwatch
にあります。それが実行されると(cronからと私が直接)、次のエラーが表示されます:
sSMTP[6890]: 554 Transaction failed: User name is missing: 'root'.
logwatch
を次のように設定しました。
MailFrom = [email protected]
MailTo = [email protected]
両方ともSESで確認された電子メール。
ssmpt.conf
は次のように設定されます:
[email protected]
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:[email protected]:email-smtp.us-east-1.amazonaws.com:465
logs:[email protected]:email-smtp.us-east-1.amazonaws.com:465
ssmptは、テストとしてssmptを介して電子メールを送信するかどうかを検出します。
何が起こっているのか、なぜユーザー名が欠落していると思われるのかを誰かが知っていますか? ssmptを介して「root」として問題なくメールを送信できます。問題を引き起こしているのはlogwatch
だけです。
ありがとう
OK、私はついにこれを理解しました。
インターネット上の多くの「サイト」が言っていることにもかかわらず、logwatch.confファイルを変更しないでください。
/usr/share/logwatch/default.conf/logwatch.conf
代わりに、このファイルを次の場所にコピーする必要があります。
/etc/logwatch/conf/logwatch.conf
そして、そこで変更を加えます。
これを行った後、すべてが機能します。うまくいけば、これは他の誰かの頭痛の日を救うでしょう。
振り返ってみると、/usr/share
の設定ファイルを変更するのは奇妙だと思いました。私は自分の内臓に耳を傾けるべきだった。