PostfixでGmailを送付する設定

自宅サーバでアラートがあった場合にメールを送りたいけど、通常の家庭用ネットワークだとOP25Bのせいででメールは送れないので、それを回避するための設定手順です。

1.事前準備

Gmailをメーラー等を使って送信する場合には、「安全性の低いアプリのアクセスを許可」する必要があるので、まずはその設定を行います。

設定はこちらから。

有効後の画像ですが、無効時は「有効にする」となっています。

2.必要なパッケージをインストールする。

Gmailへの接続に必要なパッケージをインストールします。

コマンド:yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-devel

3.Postfixに設定を追記

Gmailを経由するよう設定を追記します。

対象ファイル:/etc/postfix/main.cf
ファイルの末尾に以下を追記

relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain

4.認証設定ファイルを作成

作成ファイル:/etc/postfix/sasl_passwd

[smtp.gmail.com]:587 [gmailアドレス]:[gmailパスワード]

注意点ですが必ず以下のように記載しましょう。

relayhostに指定した値 「@gmail.com」まで含んだメールアドレス:パスワード

5.認証設定をDB化

postfixから読み込める形にするため?DB化する。

コマンド:postmap hash:/etc/postfix/sasl_passwd

6.サービス再起動で設定を適用

コマンド:systemctl restart postfix

7.動作確認

mailxを使ってローカルからメールを送信し、無事送信されるかテストします。
※mailxがない場合はインストールしましょう。コマンドは「yum install mailx」

# mail [宛先メールアドレス]
Subject: test
test
EOT ←Ctrl+Dで停止

こんな感じで送信されてればOKです。