ネームサーバ・メールサーバ・WEBサーバが全部別々の場合のGmail宛てメール送信設定について。

ネームサーバ・メールサーバ・WEBサーバが全部別々の場合のGmail宛てメール送信設定について。

先日の記事の「パターン3」の場合に遭遇しました。

メールのSPF・DKIM・DMARC設定対応済みましたか?

状況説明

  • ネームサーバ:A社(レジストラ)
  • WEBサーバ:B社(ネットショップ)
  • WEB&メールサーバ:C社

WEBサーバであるネットショップに以下の制限があるため、別途レンタルサーバを用意しました。

  • メールアカウントが5個しか持てないが、40個程度必要。
  • ネットショップの用意するブログシステムが非力で使いにくい。WordPressに慣れているので使いたいが、用意が無い。

A社ネームサーバのDNS設定値は以下の通り。ドメイン名は仮にhogehoge.comとしています。

  • hogehoge.com A bbb.bbb.bbb.bbb(B社IPアドレス)
  • hogehoge.com A ccc.ccc.ccc(C社IPアドレス)
  • mail.hogehoge.com A ccc.ccc.ccc(C社IPアドレス)
  • www.hogehoge.com CNAME hogehoge.com.cn.B社.jp
  • hogehoge.com MX mail.hogehoge.com 0
  • hogehoge.com TXT v=spf1 +a:C社.jp +a:hogehoge.com +mx include:spf.sender.C社.jp ~all

https://hogehoge.com/blogはB社に向いていますが、B社内の設定でC社WEBサーバを参照するようになっています。

目的

C社サーバから送信されるメールのドメイン正当性を確保します。具体的にはSPF・DMARC・DKIMレコードがメールヘッダに正常に含まれることです。

ただしB社サイトに設置されたフォームメールは、B社からのメールとなります。

対策

編集するのはA社ネームサーバのDNS値です。

B社(WEBサーバ)用設定

B社フォームメールの自動返信対策をします。

  • TXTレコードに追加:_dmarc.hogehoge.com TXT 0 v=DMARC1;p=none;rua=mailto:info@hogehoge.com
  • CNAMEレコードに追加:shop._domainkey.hogehoge.com CNAME 0 shop._domainkey.B社

SPFはすでに設定済みなので、上記をA社のDNSに追加します。

一行目のDMARCは問題なし。

二行目のDKIM設定でエラーが発生。CNAMEのコンテンツに「_(アンダーバー)」を使用できません。慣例的にドメインキーサーバの名前は「xxxx._domainkey.ドメイン」とするらしいのですが、それをCNAMEで参照してしまうと参照元・参照先とも両方に「_(アンダーバー)」が入ってしまいますね。手詰まり…。

そもそもドメインキーサーバはDKIM公開鍵を提供しているので、それを持って来ちゃえば良いぞ。

https://www.cman.jp/network/support/go_nslookup.cgi

にて「shop._domainkey.B社」のTXTレコードを確認します。

  • v=DKIM1; k=rsa; p=xxxxxx0xxxxxxxx3xxxxxxxxx4xxxxxxxxxxxxxxxxxx0xx8xxxxx11x2xxxxx8xxxxxxxxxxxxx5xxxxxxxxxxxxxxxxxxxxxxxx63xx3xxxxxxxx00xxxxxx/xxxxxx4xxxxxx4xx6xxxxxxxxxxxxxxxxxxxxx7xxxxxxxxxxxxxxxx6xxxx6x2xxx5xxx6/xxx2+7x9x8xxx9xxxxxxx(値は偽です)

といった内容のTXTレコードが取得できますので、以下のようにDNSを再設定します。

  • shop._domainkey.hogehoge.com TXT v=DKIM1; k=rsa; p=xxxxxx0xxxxxxxx3xxxxxxxxx4xxxxxxxxxxxxxxxxxx0xx8xxxxx11x2xxxxx8xxxxxxxxxxxxx5xxxxxxxxxxxxxxxxxxxxxxxx63xx3xxxxxxxx00xxxxxx/xxxxxx4xxxxxx4xx6xxxxxxxxxxxxxxxxxxxxx7xxxxxxxxxxxxxxxx6xxxx6x2xxx5xxx6/xxx2+7x9x8xxx9xxxxxxx

C社(メールサーバ)用設定

C社はDKIM自動設定機能があるため、その値をA社に設定。

DKIMを設定するTXTレコードは複数設定できるため問題なし…のはずが、A社の制限により問題発生しました。

DMARKは1つ設定すれば良いので追加無し。

今回起きた問題

  • A社のDNSが値に127BYTEしか入力できない制限有り。C社のDKIM値が2048bitのため、設定できず。
  • C社から送信するのはビジネスメールで、Gmail宛てに5000通以上送るということは無いため、今回は対策見送り。
  • ただし近いうちに他のプロバイダもGoogleに倣うと思われるので、近日中には他対応が必要。

チェックツールで確認

んんん??DKIMについてFAILとなります。サポートに問い合わせるも、この場合「他社との連携について当社から命じできない」となってしまいます。

入力/コピペミスかと思いやり直し。セレクタ値が違ったかとメールを再送信してソースを確認してもダメです。

Gmailで確認

上のツールを使わずとも、Gmail宛てにメール送信すればSPF・DMARC・DKIMの反映状況を分かりやすく表示してくれます。メールを開いたら右側の「…」メニューで「ソースを表示」します。下図はサンプルです。

下から2行目のDKIM項目が、実際にはFAILになっています。

これは何かがおかしい…

設定対象が違っていた!

shop._domainkey.hogehoge.comはB社のものです。

メールを送っているのはC社。そう、C社のドメインキーサーバを指定せねば!しかし「C社 ドメインキーサーバ」で検索しても見つかりません。色々と試してdefault._domainkey.hogehoge.com(C社=XSERVERの場合)であることを突き止めました。

  • default._domainkey.hogehoge.com TXT v=DKIM1; k=rsa; p=xxxxxx0xxxxxxxx3xxxxxxxxx4xxxxxxxxxxxxxxxxxx0xx8xxxxx11x2xxxxx8xxxxxxxxxxxxx5xxxxxxxxxxxxxxxxxxxxxxxx63xx3xxxxxxxx00xxxxxx/xxxxxx4xxxxxx4xx6xxxxxxxxxxxxxxxxxxxxx7xxxxxxxxxxxxxxxx6xxxx6x2xxx5xxx6/xxx2+7x9x8xxx9xxxxxxx

これで動作できました。

注意点

上記の通りうまくいったのですが、注意点がいくつかあります。

  • サーバが数社に亘る場合、ほぼサポートが受けられません。
  • ドメインキーのTXTレコード値は、絶対固定ではありません。将来的に変更になる可能性があります。その場合、レコード値の再取得・再設定が必要です。
  • default._domainkey.hogehoge.comの「default._domainkey」という名前は、他社も同じである保証はありません。

お困りの際はご相談ください。

 

この記事は2024/02/05に公開され2024/02/15に更新、45 views読まれました。

    2024/02/15   技術ノート   ,

最近1ヶ月で人気の記事

ネームサーバ・メールサーバ・WEBサーバが全部別々の場合のGmail宛てメール送信設定について。 - デザイン事務所ダウンアンダー 東京都練馬区。Wordpressはおまかせ。ホームページ・印刷など販売促進のためのデザインを提案します。

Copyright©デザイン事務所ダウンアンダー, All Rights Reserved.