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 ※Gmail の SMTP ホストを指定 ※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