CentOS6 Postfixでroot宛メールをGmailに転送する

・インストール

# yum install postfix
# yum install cyrus-sasl cyrus-sasl-plain
# yum install mailx

・main.cf の編集

# vi /etc/postfix/main.cf

# 以下を修正
myhostname = myhost.example.net
mydomain = example.net
※適当で良い

# 以下を追加
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
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
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
※GmailSMTP ホストを指定
※TLS を使うよう指定
※SASL 認証を使うよう指定
※SASL 認証のためのパスワードファイルを指定
※SASL で plaintext を使えるよう指定
※mailログに証明書エラーを出さないように証明書を指定

・パスワードファイルの作成

# vi /etc/postfix/sasl_passwd
[smtp.gmail.com]:587 USERNAME@gmail.com:PASSWORD

・パスワードファイルのハッシュファイルを作成

# postmap /etc/postfix/sasl_passwd

・/etc/aliaes の編集

# vi /etc/aliases
root: USERNAME@gmail.com

# newaliases

・メール送信

# mail root

【エラー時の確認】
転送がうまくいかない場合は、下記を試してGmailとの通信が成功するかどうかを確認する

TLSの動作確認

# openssl s_client -starttls smtp -connect smtp.gmail.com:587
※以下が出力されればOK
250-STARTTLS
250 ENHANCEDSTATUSCODES

Gmail の認証確認

# perl -MMIME::Base64 -e 'print encode_base64("USERNAME\0USERNAME\0PASSWORD");'
VVNFUk5BTUUAVVNFUk5BTUUAUEFTU1dPUkQ=
EHLO test.net
AUTH PLAIN aG9nZWhvZ2UAaG9nZWhvZ2UAcHVpcHVp
235 2.7.0 Accepted
※AcceptedされればOK

Googleのセキュリティ強化で、設定を変えないとメール送信できない模様。
https://support.google.com/accounts/answer/6010255