面倒な割には手順が一箇所にまとまってないので、ここに記載します。
rpmのインストール
テストと認証に必要なrpmを入れます:
sudo yum install -y mailx cyrus-sasl-plain
gmailの2段階認証の有効可
gmailのアプリパスワードの作成
postfixからgoogleに対して認証する際、いつものgmailパスワードではなく、 postfix用の「アプリパスワード」なるものを作成します:
「アプリ」はメール、「端末を選択」はCentOS7とかホスト名とかを記述します。 すると16桁のパスワードが発行されるのでメモしておきます。
postfixの設定変更
/etc/postfix/main.cf
を開き、次を追記します:
relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_tls_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/saslpass smtp_sasl_mechanism_filter = plain
パスワードファイルの作成
sudo vi /etc/postfix/saslpass
中は次のように記載します:
[smtp.gmail.com]:587 ユーザ名@gmail.com:16桁のパスワード
そして次を実行します:
sudo chown root:root /etc/postfix/saslpass sudo chmod 600 /etc/postfix/saslpass sudo postmap /etc/postfix/saslpass sudo systemctl restart postfix
最後にテストです:
echo "hoge" | mail -s "test email" メールアドレス@gmail.com