CentOSで構築したメールサーバからGmailにメールを送りたい

便利さとセキュリティのバランスはいつも難しいですね。

CentOSで構築したメールサーバからGmailにメールを送ろうとしたらログに

postfix/smtp[9871]: connect to alt1.gmail-smtp-in.l.google.com[202.88.201.26]:25: Connection timed out

が出力された。どうやらgmailのサーバにアクセスできないらしい。

送信できるようになるまでにやったことをできる限りメモしておく

vi /etc/postfix/main.cf で設定追加

relayhost = [smtp.gmail.com]:587
#sasl setting
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
#tls setting
smtp_use_tls = yes

ライブラリのインストール

yum -y install cyrus-sasl
yum -y install cyrus-sasl-plain
yum -y install cyrus-sasl-md5

を実行。どのライブラリが効いたのかいまいちわからない

SASL 認証パスワードファイル sasl_passwd を作成

2段階認証を使っているアカウントにメールを送るので
googleのアカウント管理→セキュリティ→アプリパスワード
と進んでパスワードを生成する

touch /etc/postfix/sasl_passwd

コマンドを実行してできたファイルに
送信先のメールアドレスと生成したアプリパスワードを書き込む

[smtp.gmail.com]:587 sousinsaki@gmail.com:apppasswd

postmap /etc/postfix/sasl_passwd.dbを生成

/etc
に移動して

chown opendkim:opendkim postfix

を実行した後

postmap /etc/postfix/sasl_passwd

を実行。sasl_passwd.dbができていることを確認し
postfixとopendkimを再起動

やったことはこれぐらい。のはず。