Gmailへのメールリレー設定

Gmailへのメールリレー設定を久々に実施したので、その時のメモです。
過去にもやったことはあったのですが、Google側のセキュリティ設定等も変わっていたので、少し嵌まりました。
以下の設定例はCentOS7です。

CentOS側の設定

必要なパッケージはpostfixとcyrus-sasl-plainです。
postfixは多くの場合デフォルトで入っていると思いますので、以下のコマンドでcyrus-sasl-plainを導入します。
[root@centos7 ~]# yum install cyrus-sasl-plain

main.cfには以下の設定を追加します。
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes
smtp_tls_CAfile = /etc/pki/tls/cert.pem

ipv6を無効化している環境では、inet_protocolsを次の設定にします。
inet_protocols = ipv4

パスワードファイルの作成は色々なサイトに載っておりますが、念のために記載しておきます。
sasl_passwdというファイルを以下の内容で作成します。
[smtp.gmail.com]:587 <ユーザー名>@gmail.com:<パスワード>

portmapコマンドでhash化します。
[root@centos7 ~]# portmap /etc/postfix/sasl_passwd

Gmail側の設定

安全性の低いアプリのアクセスの設定をオンにします。
gmail.png

Google側の設定はたまに変わりますので、将来に渡って同じ設定でよいかはわかりませんが、本日時点では設定できました。