【Outlook】DKIM署名を独自ドメインに設定する手順

【Outlook】DKIM署名を独自ドメインに設定する手順
🛡️ 超解決

【要点】Outlookで独自ドメインのDKIM署名を設定する

  • Exchange Online PowerShellでのDKIM設定有効化: ドメインごとにDKIM署名を有効にするためのコマンドを実行する。
  • DNSレコードの追加・確認: DKIM署名に必要なCNAMEレコードをドメインのDNS設定に追加または確認する。
  • DKIM署名の状態確認: 設定が正しく反映され、DKIM署名が有効になっているかを確認する。

ADVERTISEMENT

DKIM署名の概要と独自ドメイン設定の必要性

DKIM(DomainKeys Identified Mail)は、メール送信時にデジタル署名を付与する技術です。この署名は、メールのヘッダー情報に含まれ、受信側サーバーは公開鍵を用いて署名を検証します。検証が成功すれば、メールが送信元ドメインの正当なサーバーから送信され、途中で改ざんされていないことが証明されます。これにより、なりすましメールやフィッシング詐欺メールの検出精度が向上します。

Microsoft 365(Exchange Online)を利用して独自ドメインのメールアドレス(例: yourname@yourdomain.com)を使用している場合、DKIM署名を設定することは、メールの信頼性を確保する上で非常に重要です。設定されていない場合、メールが迷惑メールフォルダに振り分けられたり、受信拒否されたりするリスクが高まります。特に、ビジネスメールにおいては、相手に失礼なく、確実にメッセージを届けるためにDKIM署名の設定が推奨されます。

DKIM署名を設定することで、以下のメリットが得られます。

メールの到達率向上

受信側サーバーはDKIM署名を検証し、正当なメールであると判断します。これにより、迷惑メールフィルターにブロックされる可能性が低減し、メールが受信トレイに届きやすくなります。

差出人ドメインの信頼性向上

独自ドメインのメールアドレスが正当であることを証明できるため、受信者からの信頼を得やすくなります。ブランドイメージの維持・向上にも貢献します。

なりすまし・フィッシング対策

DKIMは、メールが改ざんされていないことを保証する役割も担います。これにより、差出人ドメインを偽装した悪意のあるメールの拡散を防ぐ助けとなります。

お探しの解決策が見つからない場合は、こちらの「Teams/Outlookトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

Exchange Online PowerShellでのDKIM設定有効化手順

Microsoft 365環境では、Exchange Online PowerShellを使用してDKIM署名を有効化します。この操作には、グローバル管理者またはExchange管理者ロールを持つアカウントが必要です。

  1. Exchange Online PowerShellへの接続
    PowerShellを管理者として実行し、以下のコマンドでExchange Onlineに接続します。
    Connect-ExchangeOnline -UserPrincipalName <管理者アカウントのUPN>
    

    管理者アカウントのUPN(User Principal Name)は、通常、メールアドレス形式です。接続時に資格情報の入力を求められます。

  2. DKIM署名の状態確認(オプション)
    既存のDKIM設定を確認するには、次のコマンドを使用します。
    Get-DkimSigningConfig -DomainName <独自ドメイン名>
    

    例えば、ドメインが`yourdomain.com`であれば、`Get-DkimSigningConfig -DomainName yourdomain.com`と入力します。

  3. DKIM署名の有効化
    ドメインのDKIM署名を有効にするには、以下のコマンドを実行します。
    Set-DkimSigningConfig -DomainName <独自ドメイン名> -Enabled $true
    

    `<独自ドメイン名>`の部分を、設定したい独自ドメイン名(例: yourdomain.com)に置き換えてください。
    このコマンドを実行すると、Exchange OnlineはDKIM署名に使用する公開鍵と秘密鍵のペアを生成し、DKIM署名に必要なDNSレコード(CNAMEレコード)の情報を提供します。

  4. DKIM関連のDNSレコード情報の取得
    DKIM署名を有効化するコマンドを実行すると、通常、CNAMEレコードの値が自動的に生成され、設定が開始されます。しかし、明示的にCNAMEレコードのホスト名と値を再確認したい場合は、以下のコマンドを使用できます。
    Get-DkimSigningConfig -DomainName <独自ドメイン名> | Format-List DKIMCNAMErecord, DKIMSelector
    

    このコマンドは、CNAMEレコードのホスト名(DKIMSelectorによって決まる)と、そのレコードが指し示す値(DKIMCNAMErecord)を表示します。通常、Selectorは `selector1` または `selector2` のいずれかです。

DNSレコードの追加・確認手順

Exchange Online PowerShellでDKIM署名を有効化した後、その設定を外部に公開するために、ドメインのDNS設定に特定のレコードを追加する必要があります。これは、ドメインを管理しているDNSホスティングサービス(例: GoDaddy, Cloudflare, Microsoft 365のドメイン設定画面など)で行います。

追加すべきDNSレコードの種類

DKIM署名には、通常、CNAMEレコードを追加します。このレコードは、Exchange Onlineが生成した公開鍵情報へのポインタとして機能します。

DNSレコードの追加手順(一般的な例)

以下の手順は、DNS管理画面のインターフェースによって多少異なりますが、基本的な考え方は同じです。

  1. DNS管理画面へのアクセス
    お使いのドメインのDNSレコードを管理しているサービス(例: Microsoft 365のドメイン設定、ドメインレジストラ、DNSホスティングサービス)にログインします。
  2. 新しいレコードの追加
    「DNSレコードを追加」「ゾーンファイル編集」などのメニューから、新しいレコードの作成を選択します。
  3. レコードタイプの選択
    レコードタイプとして「CNAME」を選択します。
  4. ホスト名(Name/Alias)の入力
    Exchange Online PowerShellで取得した`DKIMSelector`の値(例: `selector1`)に、ドメイン名を結合したものを入力します。通常、`selector1._domainkey` のような形式になります。
    例:`selector1._domainkey.yourdomain.com` (ドメイン名が自動補完される場合は `selector1._domainkey` のみ入力する場合があります)。
  5. 値(Value/Target/Points to)の入力
    Exchange Online PowerShellで取得した`DKIMCNAMErecord`の値を入力します。この値は、通常、`selector1-yourdomain-com.mail.protection.outlook.com` のような形式です。
  6. TTL(Time To Live)の設定
    TTLは、DNSレコードのキャッシュ期間です。通常はデフォルト値(例: 3600秒、1時間)で問題ありません。
  7. レコードの保存
    入力内容を確認し、レコードを保存します。

DNSレコードの確認方法

DNSレコードの伝播には時間がかかる場合があります(数分から最大48時間)。設定が正しく反映されたかを確認するには、以下の方法があります。

DNSルックアップツールを使用する

コマンドプロンプトやPowerShellで`nslookup`コマンドを使用するか、オンラインのDNSルックアップツール(例: MXToolbox, Google Admin Toolbox)を使用して、作成したCNAMEレコードが正しく解決されるかを確認します。

例(コマンドプロンプト/PowerShell):

nslookup -type=CNAME selector1._domainkey.yourdomain.com

このコマンドで、設定したCNAMEレコードの値が返ってくれば、DNS設定は正しく行われています。

Microsoft 365管理センターでの確認

Microsoft 365管理センターの「Exchange」>「メールフロー」>「DKIM」セクションで、ドメインのDKIM署名ステータスを確認できます。ここに「有効」と表示されれば、設定が完了しています。

ADVERTISEMENT

DKIM署名の状態確認とトラブルシューティング

DNSレコードの伝播とExchange Onlineでの設定反映には時間がかかることがあります。設定直後は「無効」と表示されることもありますが、しばらく待ってから再度確認することが重要です。

DKIM署名の状態確認方法

設定の最終確認は、Microsoft 365管理センターのExchange管理センターで行うのが最も確実です。

  1. Exchange管理センターへのアクセス
    Microsoft 365管理センターにサインインし、「Exchange」を選択してExchange管理センターを開きます。
  2. DKIM設定画面への移動
    左側のナビゲーションペインから「コンプライアンス管理」または「メールフロー」などの項目を探し、「DKIM」または「ドメイン」>「DKIM」のセクションに移動します。
  3. ドメインのDKIMステータス確認
    設定した独自ドメインが表示されているか確認します。ステータスが「有効」または「有効化」となっていれば、DKIM署名は正常に機能しています。

また、実際に独自ドメインからメールを送信し、受信側でDKIM署名が正しく検証されているかを確認する方法もあります。例えば、Gmailに送信し、受信したメールの「メッセージソースを表示」から「DKIM-Signature」ヘッダーを確認します。`dkim=pass`と表示されていれば成功です。

よくある問題と対処法

DKIM署名が「無効」のまま変わらない

原因: DNSレコードの伝播が完了していない、またはDNSレコードの設定値が間違っている可能性があります。

対処法:

  1. DNSレコードの再確認: ホスト名、レコードタイプ(CNAME)、値がExchange Online PowerShellで取得したものと完全に一致しているか、大文字・小文字も含めて注意深く確認してください。
  2. DNS伝播の待機: DNSレコードの伝播には最大48時間かかることがあります。しばらく待ってから再度確認してください。
  3. PowerShellでの再設定: PowerShellで一度無効化し、再度有効化するコマンドを実行し直すことで、新しいDNSレコード情報が生成される場合があります。

CNAMEレコードが正しく設定できない

原因: DNS管理画面のインターフェースに慣れていない、またはドメインに既に存在するレコードと競合している可能性があります。

対処法:

  1. DNS管理サービスのドキュメント参照: ご利用のDNS管理サービスのヘルプドキュメントを確認し、CNAMEレコードの追加方法を正確に理解してください。
  2. 競合レコードの確認: `selector1._domainkey` や `selector2._domainkey` といったホスト名で、既に他のレコード(TXTレコードなど)が存在しないか確認してください。必要であれば、競合するレコードを削除または修正します。
  3. ドメインプロバイダーへの問い合わせ: どうしても解決しない場合は、ドメインレジストラやDNSホスティングサービスに問い合わせてサポートを受けてください。

DKIM署名が「pass」にならない(テストメール送信時)

原因: 署名値が正しくない、またはメールの本文やヘッダーが送信時と受信時で変更されている可能性があります。また、Exchange OnlineでのDKIM署名が有効になっていない、またはDNSレコードが正しく設定されていない場合も考えられます。

対処法:

  1. Exchange OnlineでのDKIM有効化確認: PowerShellで`Get-DkimSigningConfig`を実行し、`Enabled`が`True`になっていることを確認してください。
  2. DNSレコードの確認: 再度、CNAMEレコードが正しく設定されているか、伝播しているかを確認します。
  3. メール送信テストの再実行: 署名に問題がないか、メール送信テストを再度行い、結果を確認します。

Mac版・モバイル版・Web版での違い

DKIM署名の設定自体は、Microsoft 365のバックエンド(Exchange Online)で行われるため、ユーザーが日常的に使用するOutlookのクライアント(Windows版、Mac版、Outlook on the web)によって設定方法が直接変わることはありません。DKIM署名は、メールがExchange Onlineのサーバーから送信される際に自動的に付与されるからです。

したがって、DKIM署名を設定する手順は、管理者権限を持つユーザーがExchange Online PowerShellまたはMicrosoft 365管理センターで行うことになります。Mac版Outlookやモバイル版Outlook、Outlook on the webのユーザーは、この設定が完了していれば、特別な操作なしにDKIM署名付きのメールを送信できるようになります。

ただし、DKIM署名が正しく付与されているかを確認する際に、各クライアントで「メッセージソースを表示」や「ヘッダーを表示」といった機能の場所が異なる場合があります。一般的に、Outlook on the webではメッセージの右上にある「…」メニューから、「表示」>「メッセージソースを表示」を選択することで確認できます。

👥
Teams/Outlookトラブル完全解決データベース サインイン、接続エラー、メール送受信の不具合など、特有のトラブル解決策を網羅。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
🌐

超解決 リモートワーク研究班

Microsoft 365の導入・保守を専門とするエンジニアグループ。通信障害やサインイン不具合など、ビジネスインフラのトラブル対応に精通しています。