EC2+Postfix+お名前.comでメール受信で引っかかったこと


転んだ所だけメモします。

なお主な設定は、
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レコードが反映されていないと、メールが届かないかと思いますので、反映されたか確認するときにも使えた

Postfixの設定編

  • SASL認証関係
    • 引っかかってるか分からなかった
      • testsaslauthd -u test -p password で認証成功してるか確認できる。便利
        • この場合のtestはUserID、passwordはパスワードです。
    • そもそもsaslauthdの設定でMECH=shadowを設定していなかった。
      • ☝︎を設定したら、testsaslauthdがSuccessになりました。

alias編

  • 特定のアドレス(例:[email protected])宛てにGmailから送ってるのに、testユーザーのメールボックスに無い。
    • ログを確認
      • tail -f /var/log/maillog
    • 送信処理(Gmailとか)からしたあとに幾ら待てどもログが流れてこないときは、ポートを確認。
      • 25番(SMTP)や587番(サブミッションポート)
    • ログは流れてくるが、to=<[email protected]>となっておらず、orig_to=<[email protected]>となってるときはaliasの設定が効いてる。
      • postfixの設定でaliasの設定を施していない時は、/etc/aliasesの中をgrepして確認してみると良い
        • 僕はto=<[email protected]>となっていた。そのためrootのメールボックスに届いてた。
      • /etc/aliases の設定編集後は$ newaliasesを実行してaliasを反映させる必要がある

最後に

SESとか使いたい。( ´・‿・`)