内部のメールをgmailへ転送してメールを一元管理したいと思ったので設定してみた。あとで思ったのですが、デフォルトのssmtpの方が圧倒的に設定が楽でした。まあ、サーバはpostfixを使ってるのでちょっと苦労しました。
まず、postfixをインストールするのですが、sasl、sslが必要なので設定が無い場合は指定する。大まかな設定は各自の環境に合わせる。
/etc/postfix/main.cfの設定に下記を加える(または書き換える)
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/spasswd
smtp_sasl_tls_security_options = noanonymous
あとはsmtp_sasl_password_mapsで指定したパスのファイルを下記の内容で作成する。spasswdというファイル名は適当。好きなファイル名でOK。
[smtp.gmail.com]:587 ユーザー名@gmail.com:パスワード
そして、postmap spasswdを実行してspasswd.dbを作成する。
これでpostfixをreloadしてやれば送信可能となる。
また、gmailのSMTPサーバーが持っている証明書のルートCAのインターネットドメインは thawte.comなのでhttp://www.thawte.com/roots/から認証書をダウンロードしてmain.cfへ設定する。
smtp_tls_CAfile = 認証書のパス名
これでmailコマンドやsendmailコマンドでメール送信してみてgmailへの転送を確認すればいい。うちはsmtp_xxxの指定のうちsmtpd_xxxとしていて失敗していた。気づくのに時間がかかったよ。