- きちんとメールサーバの設定をしておかないと、Gmailに届かなくなりそうです。
- SPFレコードにMailChannelsを入れていなかったので、追加しました。
1. 何をすればいいの?
高校の入試出願システムでGmailに届かなくなったんだって1。
うちは大丈夫かな?
簡単に言うと、メール管理者はメールが安全に届くようにするためには「ルール」(SPF、DKIM、DMARC、TLSなど)を確認する必要があります。
「なりすましメール」と区別できるようにするためです。
1-1. Gmailに送ってセキュリティ状態を確認する
メールのセキュリティ状態は Gmailからでも確認できます。
独自メールから Gmail に送って、「セキュリティの詳細」を確認します。
うーん、一応セキュリティ保護はできているっぽいけど。
大手のメールと比べると「署名元」だけで「送信元」がないね。
1-2. 「SPF」とか「DKIM」ってなんなの?
Gmailのセキュリティの詳細が、何に対応しているかというと:
- 「送信元」がある:SPF認証が有効
- 「署名元」がある:DKIM認証が有効
- 「セキュリティ」がある:TLSが有効
それぞれ何を保護しているかが違うので、ちょっと用語を整理しておきます。
- SPF(Sender Policy Framework)
送信元IPアドレスの正当性を検証する仕組みです。 - DKIM(Domain Keys Identified Mail)
メールの内容がオリジナルから改竄されていないことを検証する仕組みです。 - TLS(Transport Layer Security)
インターネット上でデータを暗号化して安全に転送するためのプロトコルです。
メール送信では、メールサーバ間のSMTPを介したメールの送受信を暗号化します。
ちなみに、DKIMとTLSは似ていますが、別の機能です。
互いに補完するものです。
DKIMはメールの真正性を保証し、
TLSはメールの転送中のプライバシーとデータのセキュリティを保証します。
2. SPFが「SOFTFAIL」だった
「送信元」の項目がない、ということはSPFに問題があります。
レンタルサーバのヘルプで SPFの設定について確認してみます。
どうも、mixhostでは自動的にSPF、DKIMの設定がされているようです。
mixhostでは、プライマリドメインやアドオンドメインから追加したドメインにつきましては、自動的にメールSPFやDKIMの設定が行われます。
そのため、お客様にて手動で設定する必要はございません。
メールSPFやDKIMの設定について – mixhost ヘルプ&サポート
でも、うまくいっていないんだよね。
ウェブ版のGmailでもう少し細かくみます。
「SPF」の項目は、「SOFTFAIL」になっていました。
これは、「疑わしい」という意味で、SPFレコードに記載されているIPアドレス・ドメインの外から送信されていることを示しています。
2-1. SPFレコードにないIPアドレスから送信されている
具体的な問題は、「IP: 23.83.218.24」がSPFレコードに記載されていないことです。
SPFは、DNSレコードに記録されていて、
「v=spf1」で始まっているTXTレコードです。
cPanelの「ゾーンエディタ」で確認してみると、ありました。
v=spf1 +a +mx +ip4:150.95.55.137 +ip4:163.44.239.12 ~all
確かに、SPFレコードに「IP: 23.83.218.24」は記載されていません。
ここで特別に許可している IPアドレスは、mixhostのサーバでした。
- jp58.mixhost.jp(150.95.55.137)
- jp77.mixhost.jp(163.44.239.12)
内部的なサーバ引っ越しがあって、過去のIPアドレスが残っていました。
IPアドレスからドメインを調べるには、「ドメイン/IPアドレス サーチ」が便利です。
2-2. 許可するIPアドレスを追加したけれど
特定のIPアドレスを許可するには、「~all
」の前に「+ip4:23.83.209.25
」を追加します。
v=spf1 +a +mx +ip4:150.95.55.137 +ip4:163.44.239.12 +ip4:23.83.209.25 ~all
ところが、これでGmailに送ってみると、またもやエラー。
よく確認すると、送信元 IPアドレスが微妙に変わっています。
3. 「MailChannels」のIPアドレスは変動する
このIPアドレスがどこから来ているのか、WHOIS検索でドメインを調べてみます。
すると、「MailChannels」だとわかりました。
実は、レンタルサーバの場合は、サーバを保護するために「メールリレーシステム」でチェックしてからメール送信するようになっています。
今回は、「MailChannels」を通して送信されているために、サーバ自体のIPアドレスとは異なっていたのです。
3-1. 「relay.mailchannels.net 」を追加した
ただし、MailChannels のIPアドレスは固定ではないため、そのままIPアドレスを指定してもダメです2。
MailChannels の場合は、ドメイン「relay.mailchannels.net 」を「include」で指定します。
(ついでに、この機会に過去のサーバのIPアドレスも削除しておきます)
v=spf1 +a +mx include:relay.mailchannels.net ~all
無事にSPFも「PASS」することができました。
とりあえずは、これでOKそうだね。
ところで「DMARC」ってなんなの?
(補足)
- 高校入試の出願システム、Gmailにメール届かず……神奈川県、受験生に「@gmail.com以外のアドレス使って」 – ITmedia NEWS
- MailChannels 送信フィルタリングを使用するには SPF を設定する必要があるのはなぜですか? – ヘルプセンター