Debian 9.3 msmtpを用いたメール送信設定 (Linux自作PC 12)
当サイトではアフィリエイト広告を利用しています
Debian 9.3 Stretchでmsmtpを用いてメール(Gmail)送信の設定を行っていきます。
本記事では各種通知に利用するメール送信に関して設定します。
前回に画面回転の設定を行った続きです。
smtpクライアント: msmtpの設定
root宛のメールを送信させるため、smtpクライアントを導入します。 postfixなど本格的なSMTPメールサーバーは必要ないと思われるので、 シンプルなsmtpクライアントを使います。
以前はgmail+ssmtpを使ったりしていましたが、今はssmtpはメンテされていないみたいです。 今回はメンテが継続しているmsmtpを使うことにします。
インストール
$ sudo apt install msmtp msmtp-mta
設定
$ msmtp --version
を実行すると、設定ファイルの場所が表示されます。
システム設定ファイルは/etc/msmtprc
, ユーザー設定ファイルは/etc/name/.msmtprc
となっていました。
今回はroot当てのシステムメールの設定をしたいので、/etc/msmtprc
を次のように設定します。
# Set default values for all following accounts.
defaults
auth on
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 [email protected]
user username
password password
# Set a default account
account default : gmail
username
は使用するgmailユーザー名に置換してください。
gmail以外のメールサービスを使うのであればsmtpサーバーやポートを適宜書き換えてください。
パスワードは直接設定に記述してしまっていますが、root以外に読み取れないように一応権限を変更しておきます。
$ sudo chmod 600 /etc/msmtprc
設定はArchLinuxのものを参考にしました。
gpgの初期設定(今回はスキップ)
パスワード記述を平文にするのは不用心ということで、パスワードを暗号化するなら次の手順で行えるみたいですが、送信のたびにパスフレーズ入力の必要がある模様なので、システムメール的には微妙かもしれません。 今回はセキュリティ上あまりよくないかもしれないが、パスワードは平文で入力しておく。
上記設定ファイルのpassword部分をを次に変更します。
passwordeval gpg --no-tty -q -d /root/.msmtp-gmail.gpg
$ sudo gpg --full-generate-key
鍵はRSA and RSA、keyサイズはデフォルトの2048、有効期限は無期限(0)、 本名、電子メールアドレス、コメントでユーザーIDを記入し、 パスフレーズで暗号化。パスフレーズは控えておく。
$ sudo gpg --encrypt -o /root/msmtp-gmail.gpg -r <user>@gmail.com -
でパスワード入力をして、Ctrl+Dで暗号化ができるみたいです。
GPGについては以下を参考にしました。
メール送信テスト
$ echo "hello test mail" | sudo msmtp -a default [email protected]
上記のコマンドでで正常に送信できていることを確認できました。
あとはsendmailエイリアスを作成しておきます。
$ sudo ln -sf /usr/bin/msmtp /usr/sbin/sendmail
エイリアス
rootに送ったメールがGmailに転送されるようにエイリアスを設定します。設定は/etc/aliases
を編集します。
# Example aliases file
# send to gmail
root: <usr>@gmail.com
clamavのメール送信
以前にClamAVの自動スキャンスクリプトを記述しましたが、そちらに記載したスクリプトで結果のメールを正しく送信できることも確認できました。
今後
GPU設置前の設定は残すところログの監視のみです。