Gmailにメールを送るとエラーで戻ってきてしまう対策(SPFレコード設定)
昨今、Gmailのセキュリティ対策が強化され、正規のメールサーバーを経ないで送信される"なりすましメール"の排除が徹底されています。
Gmailのエラーメッセージ内に「authenticate with at least one of SPF or DKIM」と書かれていたら、SPF又はDKIMの認証ができなかったということですね。
DKIMの認証方式は、私が利用しているさくらサーバーは未対応なので、ここではSPF認証で解決させます。
正規のメールサーバーを使って送信してもDNSにSPFレコードが設定されていない場合はGmail側でスパム認定され、相手先(Gmailユーザー)にメールが届きません。
対策は、さくらのネームサーバー(ns1.dns.ne.jp、ns2.dns.ne.jp)を利用している場合は、サーバー管理画面でSPFレコードを設定(チェック)するだけでOKです!
外部(ムームードメインのカスタムDNS等)のネームサーバーを利用している場合は、ゾーン情報のTXTにSPFレコードを個別に設定(追記)する必要があります。
後者のケースは、複数のホームページをサブドメイン毎にサーバーを分けたり、メールを専用業者のメールサーバーを使ったりする特殊なケースなので、通常のホスティングサーバーの契約者は、ほとんど該当しないと思います。
●SPFレコードの設定と確認(さくらサーバーの場合)
サーバー管理画面:ドメインSSL>該当ドメイン>設定
↓この画面で「SPFレコードの使用」をチェックを入れて保存ボタンを押すだけでOKです。
↓さくらサーバーのドメインコントロールパネルでSPFレコードが設定されているか確認できます。
※外部のネームサーバーを利用している場合は、この画面からSPFレコード情報(v=spf1~~)が取得できますね。
●ネット上でSPFレコードの確認方法
こちらのサイトで簡単にSPFレコードのnslookupができます↓
https://mxtoolbox.com/spf.aspx
ドメインを入力して、SPF Record Lookupボタンをクリック。
↓ちゃんとSPFレコードが確認できました!
●SPFレコードを設定してもGmailに送れない場合!!
こんなサポート情報が公開されていました↓
さくらサーバー:【Gmailへのメール送信】SPFレコードを設定しているのに送信に失敗する
利用するメールアドレスは管理画面で全てウイルスチェック機能をONにしていますが(逆にOFFにしている人は少ないと思うけど・・)、これがエラーの一因にもなっているようですね(;・∀・)
ウイルスチェック設定をOFFにすると送信できるようです(;・∀・)
不便が強いられると、DKIM認証に対応したGMO系やXサーバー等が気になるところですね。
【2024.4追記】
さくらサーバーではDKIM認証機能も追加され、管理画面から簡単に設定できるようになりました。
また、従来上位プランでしか利用できなかった機能であるドメイン毎の受信メールアカウント指定も使えるようになったため大分便利に進化しました!