PostfixでメールをGmailにリレーする

■ 目次

  1. 概要
  2. 準備
  3. テスト
  4. メールが届かない時

■ 概要

Postfixを使ってGmailにメールを送るためのやり方

そもそもPostfixとはオープンソースのメールを転送するソフトウェア

サーバから監視のアラートメールを送信したい場合などに設定しておく必要がある

■ 準備

テスト検証する環境

$ cat /etc/redhat-release
CentOS release 6.8 (Final)

インストール

// Postfixのインストール
$ sudo yum install postfix
// その他処理に必要になるパッケージ
$ sudo yum -y install cyrus-sasl-plain cyrus-sasl-md5
// メール送信用のパッケージもインストール
$ sudo yum -y install mailx

設定ファイル修正

// バックアップ
$ sudo cp -p /etc/postfix/main.cf{,.`date +%Y%m%d`}
// 修正 (以下の記述を追記する)
$ sudo vim /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/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt

ファイルを作成

// usernameとpasswordは個人gmailアカウントのものを設定する
$ sudo bash -c 'echo [smtp.gmail.com]:587 username@gmail.com:password > /etc/postfix/sasl_passwd'
$ sudo chmod 600 /etc/postfix/sasl_passwd
$ sudo postmap /etc/postfix/sasl_passwd

諸々起動させる

$ sudo service saslauthd start
$ sudo service postfix start
$ sudo chkconfig saslauthd on
$ sudo chkconfig postfix on

■ テスト

メールを送信する

$ sudo bash -c 'echo testmail | mail username@gmail.com'

■ メールが届かない時

メールを送ってもGmailにメールが届かないときの確認方法

① ログを見てみる

// syslogをインストール
$ sudo yum install rsyslog

再度テストメールを送信してログを確認する

$ sudo less /var/log/maillog

② キューを確認する

$ postqueue -p

これでメール配送待ちのキューを見れる
「Mail queue is empty」だと問題がない

③ Gmailの設定を確認する
Gmailヘルプ
にてメールクライアントにログインできない場合のトラブルシューティングが載っているので確認する


Be First to Comment

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です