postfixとRedmineを連携させる 1.postfixでGmailを使えるようにする

個人プロジェクトの管理が必要になって来たためRedmineVM上に立てた。

全体的な概要としては以下の通り

f:id:moro53:20170320112430p:plain

まずpostfixからGmail経由でメールを送れるようにする

コはコンピューターのコ | Postfix から Gmail 経由でメールを送る

ここを参考に、/etc/postfix/main.cfに以下のように追記

# GMail

relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain

続いて/etc/postfix/にsasl_passwdというファイルを作成し以下のように記述する

[smtp.gmail.com]:587 gmail_address@gmail.com:password

ファイルを読めないようにするのも忘れずに。今回は自分しかユーザがいない前提なので所有権を変更する必要はない。複数人がsudoerの場合は参考にあるように所有ユーザを変更すべきだろう。

chmod 600 /etc/postfix/sasl_passwd

(今思ったら今回の環境だと別にこれやっても意味ないな……)

 続いてハッシュ形式に変更

 postmap /etc/postfix/sasl_passwd

これでテストメールを送信

mail testmailaddress@gmail.com

 ログを確認する

sudo cat  var/log/maillog

...delays=0.12/0.2/3.3/0, dsn=4.7.14, status=deferred (SASL authentication failed

(中略)

 Please log in via your web browser 

 あっれー?とりあえずgmailにログインしてみる。するとこんなメールが届いてた

f:id:moro53:20170320163454p:plain

どうやらアクセスをgoogle側で弾いているようだ。今回はこのアカウントを送信専用としてしか使わないのでアプリへのアクセスを許可。再度送信してログを確認

 sudo cat /var/log/maillog

(中略)

status=sent

 やったー!(+1)

次回はDockerを使ったRedmineのインストールについて。