msmtpでアラートメールをgmailに送信する!ssmtpはもう古い!

Table of Content

広告

はじめに

logwatch等のアラートメールを飛だけではpostfixでは大げさ過ぎます。postfix等のmta無しでメールを飛ばすソフトにssmtpがあります。しかし、ssmtpはメンテナンスが止まっているので、msmtpを使ってアラートメールを飛ばそうと思います。

インストール

「Ubuntu 20.04LTS Desktop」前提です。

sudo apt install --yes mstp msmtp-mta

msmtp-mtaを入れるとmsmtpsendmailのエイリアスを作ってくれるので、合わせていれるのがいいかと思います。

設定

設定ファイルは/etc/msmtprc~/.msmtprcです。logwatch等のアラートメールで使用するならば、/etc/msmtprcで良いかと思います。gmailを外部メールサーバとして使います。gmailを使う場合は2段階認証にして、アプリパスワードを設定して行ったほうが良いかと思います。アプリパスワードの手順はこちらを参考に。

# Set default values for all following accounts.
defaults
port 587
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
syslog on
aliases /etc/aliases

# gmail
account gmail
host smtp.gmail.com
port 587
from {from mail address}
auth on
user {username}
password {password}

# Set a default account
account default : gmail

確認

メールが遅れるか以下のコマンドでテストします。

echo "Subject: Testing msmtp" | /usr/sbin/sendmail -v hoge@gmail.com

メールがgmailに届いていたら完了です。