読者です 読者をやめる 読者になる 読者になる

田舎で働くウェブ屋のメモ帳

仕事中のメモなどなど。

VPSのPostfixからGmail経由(リレー)でメールを送る話。

PostfixからGmailSMTPサーバーを経由してメールを送る設定メモ。
日本語のドキュメントが古いモノが多かったので、3回ぐらいやり直した…。

環境は Ubuntu Server14.04 です。(ConoHaのVPS上で動いてます。)

パッケージのインストール

Postfix本体、mail系のツール、SASL認証のためのライブラリなどをまとめてインストールします。
sudo apt-get update
apt-get -y --no-install-recommends install postfix mailutils libsasl2-2 libsasl2-modules

途中でPostfixのTUI設定画面が出てくるので、

  • メールサーバーのタイプを「サテライトシステム」
  • ドメインは適当に
  • SMTPリレーホストにsmtp.gmail.com」

をそれぞれ入力し、ウィザードを進めます。

Postfixの設定変更

インストールが終わったら、設定ファイルを書き換えます。
sudo vi /etc/postfix/main.cf

最後の行以降に以下を追加

smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous

SASL認証ファイルを作成

SMTPサーバーの認証に使うファイルを準備します。
vi /etc/postfix/sasl/sasl_passwd

中身はこんな感じ。ポート指定はいらないっぽい。

smtp.gmail.com %%USERNAME%%:%%password%%

データベースを作る。
postmap /etc/postfix/sasl/sasl_passwd

平文でパスワードが書いてあるので、権限設定はしっかりと。
su -
chown -R root:postfix /etc/postfix/sasl
chmod 750 /etc/postfix/sasl
chmod 640 /etc/postfix/sasl/sasl_passwd*

保存して、Postfixを再起動しときます。
sudo service postfix restart

メールの送信テスト

mailコマンドを使って、送信テストをします。 うまく届いてればOK。

echo "This is a test." | mail -s "test message" user@example.net

メールが届かない時は、Postfixのログ見たりしてみましょう。
2段階認証プロセス使ってたりすると、上手くいかないかも?


参考にしたサイト devops.profitbricks.com