サーバーからGmail宛にメールを送信したとき、送信元のメールアドレスのドメインがSPFレコードを設定していないと、迷惑メール扱いや受信拒否されるようになりました。
この記事ではCloudflareでSPFレコードを設定する方法を解説します。
SPFレコードとは
送信元のメールアドレスは任意の値を指定できます。つまり誰にでもなりすませます。SPFレコードはこのなりすましを防ぐためのものです。
その仕組みを簡単に言うと、DNSにIPアドレスを書いておき、メールの送信元のIPアドレスとDNSのIPアドレスが一致するか確認します。
設定すべきIPアドレスを確認
メールを送信するサーバーのIP アドレスを確認します。以下のコマンドを実行します。
$ ip addr show
このとき表示されるサブネットマスクまで控えてください。サブネットマスクとは、192.168.1.0/24 で言う/24の部分になります。
Cloudflareの設定
次に以下の手順通り、Cloudflareの設定を行います。
- Cloudflareにログインします。
- 設定したいドメインを選択します
- サイドバーのDNSを開きます
- Add record から以下の通りフィールドを追加します
- TYPE は TXT
- NAME は @ (メールアドレスのホストの部分にします)
- 内容は v=spf1 +ip4:[IPアドレス] include: include:spf.protection.outlook.com -all
IP アドレスはサブネットマスクまで指定するのが無難です。
include: include:spf.protection.outlook.com は outlook からメールを送信する場合に追加してください。送信しないのであれば不要です。
その他、詳しい書式については、DNS SPFレコードとは?を参照してください。
確認
設定を終えたら以下のコマンドでメールを送信し、受信できるか確認しましょう。
$ echo "これはテストのメールです" | mail -s "テストメール" -r 送信元メールアドレス 送信先メールアドレス
送信元メールアドレスはDNSで設定したドメインと同じドメインを持つものを指定してください。
もしメールが届かない場合はDNSが反映されるまで待つか、設定を見直してください。
コメント