少し前にwordpressのお引越しをした。AのAWS環境からBのAWS環境へ。で、wordpressからのコンタクトフォームへの投稿などの通知メールが来て無いなぁ。。。と思ったので調べたら、メールがbounceしてしまってたので、それを解決したときの備忘。
環境説明
- 自分への通知しかしないのでAWSのSESを利用している。使い方は下記の記事で紹介。
- メールの送信方法はwordpressのpluginでは無く、ローカルのpostfixで認証などをさせて送信している。こちらも使い方は下記の記事で紹介。
- AWS間の環境移行時にpostfixの設定は全て移行していた。
メール配送不可の状況
maillogを確認。(見やすいように改行して加工済)
postfix: from=<apache@ip-172-10-10-10.ap-northeast-1.compute.internal>, size=877, nrcpt=1 (queue active)
postfix: to=<hoge@piteki.com>, relay=email-smtp.ap-northeast-1.amazonaws.com[52.69.194.213]:587,
delay=0.46, delays=0.05/0.08/0.15/0.19,
dsn=5.0.0, status=bounced (host email-smtp.ap-northeast-1.amazonaws.com[52.69.194.213]
said: 554 Message rejected: Email address is not verified.
The following identities failed the check in region AP-NORTHEAST-1:
apache@ip-172-10-10-10.ap-northeast-1.compute.internal (in reply to end of DATA command))
ガッツリ「REJECT」されてる。
ちなみに、コマンドで適当なfrom、SESで許可したtoへメール送信すると配送できる状態。
メール配送不可の原因
英語でゴニョゴニョ怒られてるけど、結論はシンプル。fromアドレスのドメインが悪い!
postfixの設定は移行してて、myhostnameとかmydomainとか細かな設定は特にしていなかったのに、何故環境移行したらfromアドレスが変わっているのか。原因はhostname。
プロンプト見て気づけよと、自問自答したいが、コレだな。
[hoge@ip-172-10-10-10 ~]$ hostname
ip-172-10-10-10.ap-northeast-1.compute.internal
解消方法と結果
やることはシンプル。再起動しても設定が残るようにhostnameを変更。
$ hostnamectl set-hostname piteki.com
メール配送ログの確認。(見やすいように改行して加工済)
postfix: from=<apache@piteki.com>, size=922, nrcpt=1 (queue active)
postfix: to=<hoge@piteki.com>, relay=email-smtp.ap-northeast-1.amazonaws.com[52.69.194.213]:587,
delay=0.45, delays=0.04/0.07/0.14/0.2, dsn=2.0.0,
status=sent (250 Ok 010601811b1c1ce8-9b5c0925-471d-4cfd-b637-4786bb5be91d-000000)
めでたしめでたし
コメント