Cloudflare経由でSSL化後にGmailのSMTPでメールが送信できない場合の対処方法など

Published on:
Last updated:

This post is also available in: Japanese

既存ドメインをCloudflareのFlexibleSSLでSSL対応した後に、GmailでSMTPを利用して送信していた既存ドメインのメールが、以下のようなエラーが出て送れなくなるといった症状が出たので、解決方法をメモ代わりに書いています。
GmailでSMTPを利用してメール送信すると、以下のようなメッセージがメーラーデーモンから届く症状です。

Mail Delivery Subsystem <mailer-daemon@googlemail.com>


This is an automatically generated Delivery Status Notification

THIS IS A WARNING MESSAGE ONLY.

YOU DO NOT NEED TO RESEND YOUR MESSAGE.

Delivery to the following recipient has been delayed:

     sample@xxxxx.co.jp

Message will be retried for 1 more day(s)

Technical details of temporary failure:
Unspecified Error (SENT_EHLO): socket error during sasl send

結論から書くと、この症状はおそらくGmail側のスパム対策で、送信したメールの送信元ドメインが、実際に送信したドメインとは異なるドメインを経由(今回の場合にはCloudflareを経由)していて、スパム/迷惑メールっぽいから送信を制限されている...という事のようです。

対策として、Sender Policy Framework(SPF)値を、CloudflareのDNS設定に加えます。

以下の Value の値が肝心なわけですが、他のレコード(MXやAレコード)で points to 123.456.78.910 みたいな感じで自分のドメインのIPアドレスが自動取得されていると思いますので、以下のように新しい項目を作ってSPF値を設定します。

Type:TXT
Name:sample.com(自分のドメイン)
Value:v=spf1 ip4:123.456.78.910 ~all
TTL:Automatic

以上のような方法で、SMTPを利用した送信メールがスパム/迷惑メール判定されていた場合には解決できるかと思います。

No tags for this post.

About
Kuniyoshi Takemoto is the founder of Amelt.net LLC, and editor of this blog(www.amelt.net).Learn more and follow me on LinkedIn.