注意
追記2020/9/11: この記事は古いです。
GMailアカウントでLSA(安全性の低いアプリ)の設定を行い、SMTP認証(PLAIN)を行うことを前提としています。
一般のGMailに関してはアナウンスがないようですが、G SuiteのGMail利用に関しては、G Suiteアップデートブログ、安全性の低いアプリによる G Suite アカウントへの接続が無効に にあるように将来的には完全に利用できなくなります。
- GMailアカウント: LSA設定で可能(今後、G Suite同様に無効化されるのか?その場合いつになるかは不明)
- G Suiteアカウント: 2020/6/15以前にLSA設定したことがある場合は2021/2/16まで利用可能
目的
CentOSはデフォルトのMTAとしてPostfixを採用している。
minimal構成でインストールしてもPostfixがインストールされ起動しており、これはもったいないのでGMailで他所に中継する。
制限
例えばhoge.localというホストから発信されたメールは、下記の様にすべて同じGMailユーザから発信されたことになる。これによりマルチユーザ環境では基本使えない。あくまでも自分のローカル開発環境等にはいいかもと言う感じ。
From: root <ユーザ名@gmail.com>
X-Google-Original-From: root@hoge.local (root)
環境
CentOS 7.2.1511で確認した。
# rpm -qa|grep postfix
postfix-2.10.1-6.el7.x86_64
# rpm -qa|grep cyrus-sasl
cyrus-sasl-lib-2.1.26-20.el7_2.x86_64
cyrus-sasl-2.1.26-20.el7_2.x86_64
cyrus-sasl-plain-2.1.26-20.el7_2.x86_64
cyrus-sasl-devel-2.1.26-20.el7_2.x86_64
cyrus-sasl-plainがないとGMailとの認証できないので注意(minimalでは入ってなかったはず)
設定
中継設定
main.cfを編集
# vi /etc/postfix/main.cf
末尾に次の設定を追加、GMailを中継先にしTLSを使いSMTP認証(PLAIN)にする。
# 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
認証ユーザの設定
# vi /etc/postfix/sasl_passwd
[smtp.gmail.com]:587 <gmail_address>:<password>
中継先SMTPアドレス:ポート 認証ユーザ名:パスワード
パーミッションの変更とdb化
# chmod 600 /etc/postfix/sasl_passwd
# postmap hash:/etc/postfix/sasl_passwd
設定の有効化(再起動)
# systemctl restart postfix # CentOS7/Systemd
reloadでもいいけど
確認
mailxパッケージをインストールしてあれば次の様に、自分のアドレス(GMail以外でも可)へメールを送信すると、中継登録したGMailアドレスからメールが届くはず。
$ mail hoge@example.jp
Subject: test
test
EOT
EOTはCtrl-Dで
運用
alias設定
ローカルホストのrootと作業ユーザのメールエイリアスを登録する
一般ユーザは~/.forwardでも良いが…
# vi /etc/aliases
末尾に次の様にaliasを追加
root: hoge@example.jp
vagrant: hoge@example.jp
上記例はrootとvagrantユーザへのメールが自分のメールアドレスhoge@example.jpに届く設定(もちろんGMailでも可)
# newaliases
newaliasesは忘れずに
おまけlogwatchインストール
# yum install logwatch
logwatchをインストールしておけば、ログの集計結果が届くはず。ただし深夜も動いてるなら。