本記事でメール送信に利用しているSMTPクライアント「SSMTP」は2014年で更新が止まっているようなので、2020年時点でも更新されているSMTPクライアント「MSMTP」を使用した記事を投稿しているのでこちらをご覧ください。
今回はマニアックな記事になってしまい申し訳ありません。
サーバでアプリケーションのログ監視中にエラーが発生した場合、メールにログファイルを添付して通知したいということがあり、その設定手順について投稿したいと思います。
広告
前提条件
- サーバOSはCentOS 7
- SMTPサーバはGmailを使用する
- Googleアカウントは 2段階認証を設定している
用意するもの
- Googleアカウント
手順
Googleのアプリパスワードを発行する
「セキュリティ」>「アプリ パスワード」と遷移する
「アプリを選択する」で「メール」を選択する
「デバイスを選択する」で「その他(名前を入力)」を選択する
任意の名前を入力する
例)シェルスクリプト「生成」ボタンを押す
以降の 手順(「SSMTP」を設定する)で使用するのでメモ帳などにコピーしておく
「EPEL」(EnterpriseLinux用の追加パッケージセット)を設定する
1.「EPEL」をインストールする
$ sudo yum install epel-release
「Mutt」(UNIX向け電子メールクライアント)を設定する
1.「Mutt」をインストールする
$ sudo yum install mutt
2.「Mutt」を設定する
「Mutt」の設定ファイルに下記の通り、追記する
$ sudo vi /etc/Muttrc
set sendmail="/usr/sbin/ssmtp" # SMTPクライアント(SSMTPを指定)
set realname="[メールの差出人名]" # メールの差出人名
set from="[返信先のメールアドレス]" # 受信者のメーラーで「From」に表示させるメールアドレス
広告
「SSMTP」(メール転送エージェント)を設定する
1.「SSMTP」をインストールする
$ sudo yum install ssmtp
2.「SSMTP」を設定する
「SSMTP」の設定ファイルに下記の通り、修正もしくは追記する
$ sudo vi /etc/sstmp/ssmtp.conf
root=[Googleアカウント@gmail.com]
mailhub=smtp.gmail.com:587
AuthUser=[Googleアカウント@gmail.com]
AuthPass=[アプリパスワード(16文字)]
UseSTARTTLS=YES
メールを送信する
$ echo "[メール本文]" | mutt "[メール件名]" [宛先メールアドレス] -a [添付ファイルパス1] -a [添付ファイルパス2]
まとめ
試行錯誤の末、何とかこの手順に辿り着きました。
同じように悩んでいる方の役に立てば幸いです。
最後まで読んでいただきありがとうございます。
よかったら、下のボタンからフォローやシェアをしていただけるとうれしいです。
コメント