ある時期を境に突然WordPressのContactForm7のメールが届かなくなってしまいましたのでその対策を記事にします。
2カ月もWordPressのレンタルサーバー側のメールアドレスには、エラーのメールが出ていましたが、「最近ブログの問い合わせメールが来ないなー」と思う程度でしたので気が付くのが遅くなってしまいました。
あれ?と思い、WordPressのContact Form7を入力し送信ボタンを押してみると、「うまく送信できました」という表示が出るため、送信の問題はないようです。
この2カ月間の間で問い合わせフォームを入力した人がいたら申し訳ないです。(送った方はエラーが出ていることは分からないので、、)
原因について
WordPressのContactForm7の送信先に、私のGmailアドレスを記入していましたが、どうやらGmailの認証ではじかれてしまったらしいです。
メールエラー「550-5.7.26 This mail has been blocked because the sender is unauthenticated.」が発生していました。このエラーメッセージは、Gmailが送信者の認証(SPFやDKIM)を要求しているためにメールがブロックされたことを示しています。
DKIMとSPFって何?
- DKIM (DomainKeys Identified Mail): メールが信頼のあるドメインから正式に送信されたことを証明するためのデジタル署名のことです。大抵の場合、レンタルサーバーの管理画面やDNS設定でDKIMを設定することが可能。
- SPF (Sender Policy Framework): 信頼のあるドメインから送信されるレコードを言います。(メール送信を許可されたIPアドレスを定義するDNSレコード)これにより、このメールがスパムとみなされることが少なくなります。
私がとった対処法
私がとった対処法は、ContactForm7のメール送り先をレンタルサーバーのドメインメールに変更し、そのメールをGmeilに転送するという方法で解決しました。
以下その方法について説明します。
①メールドメインのDKIMとSPFの認証
レンタルサーバーで取得したドメインのアドレスの認証を行いました。
さくらのレンタルサーバーであれば、簡単にメールドメインのメニューから認証をすることができます。ただ、認証されるまで、2時間程度待ちましたが、、、。
さくらのレンタルサーバーでは以下の画面の様に管理画面からメール→メールドメインを選択し、対象の度面員の設定からDKIM設定が選べます。
②WordPressのContactForm7の設定を変更
Gmailのアドレスから、レンタルサーバーで取得したドメインのメールアドレスに変更しました。
③レンタルサーバーの管理画面の転送設定を行う
レンタルサーバーの管理画面で、②で入力したメールアドレスの転送設定を行いました。
転送先はもちろんGmailです。
さくらのレンタルサーバの場合は、管理画面からメール→メール一覧に進み、対象のメールドメインの設定ボタンを押す。
設定メニューの振り分け転送・自動返信を選択する。
転送設定を上の図のように設定してます。転送先にGmailアドレスを入力しました。
テストメールを送って確認
実際にWebページを開き、ContactForm7のフォームに入力して送信テストを行ってみたところ、Gmailで受信ができましたが、Gmailの迷惑メール側に振り分けられてしまいました。(迷惑メールを解除して無事に解決しました。)