📚 本記事は 4 本シリーズの第 4 回(最終回)です。
1. UTAGE API/MCPの実装制限と外部連携の現実解
2. Vercel/XServerのデプロイ先誤認を防ぐDNS確認手順
3. 診断ツールのタイプ判定アルゴリズム5つの落とし穴
4. (現在) //のGmail全PASS設定方法 ← この記事
5 月 5 日、午前 0 時 22 分。Gmail で開いたテストメールの「メッセージのソースを表示」を確認すると、3 行全て PASS の文字が並んでいました。
SPF: PASS
DKIM: 'PASS' (Header From ドメインで署名)
DMARC: 'PASS'
| ホスト名 | 種別 | 値 | 役割 |
|---|---|---|---|
| (ドメイン) | NS | ns1.xserver.jp 〜 ns5.xserver.jp | XServer に DNS 委譲 |
| (ドメイン) | A | XServer の IP | XServer 配下の IP アドレス |
| (ドメイン) | MX | (ドメイン) | XServer メール受信 |
| (ドメイン) | TXT (SPF) | v=spf1 +a: | XServer 自動生成 |
default._domainkey.<ドメイン> | TXT | v=DKIM1; k=rsa; p=... | XServer 標準 DKIM(自社発信用) |
<セレクタ>._domainkey.<ドメイン> | CNAME | <セレクタ>.utage-dkim.com | UTAGE 配信用 DKIM |
_dmarc.<ドメイン> | TXT | v=DMARC1; p=none; | DMARC(段階引き上げ用に none で開始) |
# 権威 DNS で直接確認(これが新しい値を返せば切替成功)
dig @ns1.xserver.jp +short A <ドメイン>
Step 3: ⚠️ 既存 DMARC p=reject の存在チェック(最大の罠)
NS 切替直後、何の気なしに dig を叩いて既存 DMARC を確認すると、衝撃の値が:
$ dig +short TXT _dmarc.<ドメイン>
"v=DMARC1; p=reject"
p=reject。最厳格設定が既に有効でした。これは DKIM/SPF アライメントが取れないメールを Gmail が完全拒否する設定です。DKIM の CNAME 反映前に UTAGE から配信したら、全メールが拒否されて配信ロスト する状況でした。
突破: NS 切替時に XServer 側の DMARC レコードを p=none で初期化し、DKIM 反映完了後に段階的に厳格化する方針に切替えました。
v=DMARC1; p=none;
p=noneは「DKIM/SPF が失敗しても受信トレイに配送する(警告のみ)」設定で、観測フェーズに最適です。
💡 KEY TAKEAWAYS
NS 切替前に旧 DNS の DMARC を必ず確認してください。p=rejectが残っていると、新 DKIM の反映遅延中に配信ロストが発生します。
Step 4: UTAGE 管理画面で DKIM 認証を発行
UTAGE 管理画面 → 「メール・LINE 配信」→「DKIM 認証設定」→「追加する」 で送信元ドメインを入力すると、CNAME レコードが発行されます。
レコード名: <セレクタ>._domainkey.<ドメイン>
レコードタイプ: CNAME
値: <セレクタ>.utage-dkim.com
セレクタ部分は UTAGE 側がランダム発行するため、ドメインごとに異なります。
Step 5: XServer の DNS にレコード追加
XServer サーバーパネル → 「DNS 設定」→ ドメイン → 「DNSレコード追加」 で 2 件登録します。
1) DKIM CNAME
ホスト名: <セレクタ>._domainkey
種別: CNAME
内容: <セレクタ>.utage-dkim.com
2) DMARC TXT
ホスト名: _dmarc
種別: TXT
内容: v=DMARC1; p=none;
⚠️ ホスト名欄に .<ドメイン> は 含めない(XServer が自動付与)。これを書き込むと壊れた FQDN になります。
反映確認 — XServer NS 直接問い合わせ
レコード追加後、ローカルリゾルバ経由だとキャッシュで古い情報が返ります。XServer NS に直接問い合わせると即座に確認できます。# 全 NS で一致しているか
for ns in ns1 ns2 ns3 ns4 ns5; do
echo -n "$ns: "
dig @${ns}.xserver.jp +short TXT _dmarc.<ドメイン>
done
# UTAGE DKIM CNAME の最終 TXT(CNAME 追跡)
dig +short TXT <セレクタ>.utage-dkim.com
# → "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA…"
- UTAGE で送信元アドレス(設定済の
任意@<ドメイン>)のテストメールを作成 - 自分の Gmail 宛に送信
- 受信メールを開いて 「︙」 → 「メッセージのソースを表示」
SPF: PASS
DKIM: 'PASS' (ドメイン: <ドメイン>)
header.s=<セレクタ> ← UTAGE発行のセレクタで署名されている
DMARC: 'PASS'
| フェーズ | TXT 値 | タイミング |
|---|---|---|
| Phase 1(現在) | v=DMARC1; p=none; rua=mailto:postmaster@<ドメイン> | DKIM 追加と同時または直前 |
| Phase 2(1 週間後) | v=DMARC1; p=quarantine; pct=25; | DKIM 安定稼働確認後 |
| Phase 3(2-4 週後) | v=DMARC1; p=quarantine; | quarantine 100 % 適用 |
| Phase 4(1 ヶ月後+) | v=DMARC1; p=reject; | 元の厳格運用に戻す |
# 全レコード一括確認
DOMAIN=<ドメイン>
SELECTOR=<UTAGE発行セレクタ>
echo "=== NS ===" && dig +short NS $DOMAIN
echo "=== A ===" && dig @ns1.xserver.jp +short A $DOMAIN
echo "=== MX ===" && dig @ns1.xserver.jp +short MX $DOMAIN
echo "=== SPF ===" && dig @ns1.xserver.jp +short TXT $DOMAIN
echo "=== DMARC ===" && dig @ns1.xserver.jp +short TXT _dmarc.$DOMAIN
echo "=== UTAGE DKIM (CNAME) ===" && dig @ns1.xserver.jp +short CNAME ${SELECTOR}._domainkey.$DOMAIN
echo "=== UTAGE DKIM (最終TXT) ===" && dig +short TXT ${SELECTOR}.utage-dkim.com
echo "=== XServer 標準 DKIM ===" && dig @ns1.xserver.jp +short TXT default._domainkey.$DOMAIN
:::
次のアクション
送信ドメインの認証整備度は、Web マーケ全体の 配信基盤レベル を映します。SPF だけ設定済み、DKIM は未対応、というケースは Gmail 2024 年ガイドラインで配信が止まりつつあります。
御社の配信基盤が「変化に対応できる細マッチョ体型」かどうか、5 軸スコアで見える化したい方は 細マッチョ企業診断 でセルフチェックしてみてください。骨格(基盤)スコアが、配信基盤を含めたデジタル体力の指標になります。
→ シリーズ目次に戻る: UTAGE API/MCPの実装制限と外部連携の現実解
