Gmail 経由でメールを送信するように Postfix を設定する方法を紹介します.この方法を使って送ったメールの From は Gmail のアドレスで書き換えられる点に注意して下さい.
環境
今回の検証に利用した環境です.
- Ubuntu 16.04 (amd64)
- Postfix 3.1.0
Postfix をインストールする
Postfix とテストに使用する mail コマンドをインストールします.
sudo apt install postfix bsd-mailx libsasl2-modules
設定中にいくつかの選択肢が表示されるので,Internet with smarthost
を選択し,”SMTP relay host” には [smtp.gmail.com]:587
を選択します.
Gmail にリレーするための設定
/etc/postfix/sasl_passwd
を作成し,Gmail の認証情報を記述します.ファイル名は自由に設定できます.
[smtp.gmail.com]:587 <username>@gmail.com:<password>
作成したファイルのパーミッションを変更し,postmap
を実行します.
$ sudo chmod 600 sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
/etc/postfix/main.cf
に以下の内容を追記します.
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
設定の反映とテスト
Postfix を再起動し,メールを実際に送ってテストします.
$ sudo systemctl restart postfix.service
$ echo "Test message" | mail [email protected]
メールがうまく送信できなかったときは /var/log/mail.log
を確認して,設定を修正します.