転んだ所だけメモします。
なお主な設定は、
AWS上のpostfixでメールを受信してみる : mechamogeraさん
が非常に参考になりました。
環境
- EC2
- AmazonLinux 2015.09
- MySQL5.5(5.6だとPostfix2.6が依存しているMySQL5.5のLibと競合してしまったりするので5.5の方が楽だった
- dovecot 2.2
- postfix 2.6
- ドメインはお名前.com
AWSに申請する編
AWSにメールを送信するので制限を解除してなって申請する必要がある。
以下がとても参考になりました。
Amazon EC2 Eメール送信ベストプラクティス : Developers.io, 大瀧隆太さん(クラスメソッド株式会社)
インストール編
- Postfixの依存関係の解決
- MySQL5.6が動作している環境だったため、MySQL5.5にダウングレードして、Postfix2.6をyumで導入。
ドメイン設定編
お名前.comでの作業。
- AとMXのレコードを設定する必要があったが、AだけしててMX設定しわすれてた。
- MXが設定されているか確認するときは👇のツールが役に立った
- MXTOOLBOX
- MXとAレコードが反映されていないと、メールが届かないかと思いますので、反映されたか確認するときにも使えた
- MXが設定されているか確認するときは👇のツールが役に立った
Postfixの設定編
- SASL認証関係
- 引っかかってるか分からなかった
-
testsaslauthd -u test -p password
で認証成功してるか確認できる。便利- この場合の
test
はUserID、password
はパスワードです。
- この場合の
-
- そもそも
saslauthd
の設定でMECH=shadow
を設定していなかった。- ☝︎を設定したら、testsaslauthdがSuccessになりました。
- 引っかかってるか分からなかった
alias編
- 特定のアドレス(例:test@hogehoge.jp)宛てにGmailから送ってるのに、testユーザーのメールボックスに無い。
- ログを確認
tail -f /var/log/maillog
- 送信処理(Gmailとか)からしたあとに幾ら待てどもログが流れてこないときは、ポートを確認。
- 25番(SMTP)や587番(サブミッションポート)
- ログは流れてくるが、
to=<test@hogehoge.jp>
となっておらず、orig_to=<test@hogehoge.jp>
となってるときはaliasの設定が効いてる。- postfixの設定でaliasの設定を施していない時は、
/etc/aliases
の中をgrepして確認してみると良い- 僕は
to=<root@hogehoge.jp>
となっていた。そのためrootのメールボックスに届いてた。
- 僕は
-
/etc/aliases
の設定編集後は$ newaliases
を実行してaliasを反映させる必要がある
- postfixの設定でaliasの設定を施していない時は、
- ログを確認
最後に
SESとか使いたい。( ´・‿・`)