DKIM Key


[まとめページに戻る](https://qiita.com/Keiji_otsubo/items/60afc2a8d211b6f7d89f)
[まとめA～M](https://qiita.com/Keiji_otsubo/items/f3ddedee6793bf1576f8)



+ [How i can unable the activation button for DKIM Key](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007UvniQ)
+ [「送信者IDコンプライアンスを有効にする」という設定について](https://qiita.com/Keiji_otsubo/items/0a7d85edb906dc82de51)

# Salesforce で DKIM 鍵を有効化できない

https://help.salesforce.com/s/articleView?id=000391930&type=1

特定のドメインの DKIM 鍵を Salesforce から作成すると、この DKIM 鍵の TXT レコードが Salesforce によって DNS に公開されます。Salesforce で鍵を有効化する前に、ドメインの DNS に CNAME レコードと代替 CNAME レコードを追加することをお勧めします。

CNAME レコードのドメイン値の解決に役立つ、https://mxtoolbox.com/ や https://xnnd.com/ などのサードパーティツールを使用できます。

**解決策**

ドメインの DNS で CNAME レコードが正しい値を指しているかどうかを検証する手順は次のとおりです。

1.管理者として Salesforce にログインします。
2.[設定] の [DKIM 鍵] に移動します。[DKIM 鍵の詳細] ページに、作成した DKIM 鍵が表示されています。
3.まだ有効化されていない鍵を開きます。[有効化] ボタンはグレー表示されています。
4.正しいドメイン名で DKIM 鍵を作成し、ドメインの同じ DNS に CNAME レコードを公開したことを確認します。
5.[鍵の詳細] ページから、メインの CNAME レコードの最初の部分 (例: "selectorname._domainkey.domain.com") をコピーします。
6.MX toolbox の Web サイトを開き、上記の CNAME レコードの MX ルックアップを実行し、何らかの値に解決されるかどうかを確認します。Salesforce での CNAME レコードの 2 番目の部分との一致を試みます。例: "selectorname.XXXXXX.custdkim.salesforce.com"
7.代替 CNAME レコードについて手順 5 と 6 を繰り返し、代替 CNAME レコードの値を検証します。
8.両方の CNAME レコードが解決され、値が完全に同じである場合、[有効化] ボタンを使用して DKIM 鍵を有効化できます。


注意: ほとんどの場合、CNAME レコードは解決されません。これは、CNAME レコードがドメインの DNS に正しく公開されていないか、インターネットに何らかの制限があることを意味します。他のツールで CNAME レコードを解決できない場合、Salesforce でも同様に CNAME レコードを解決できません。ドメインの DNS に作成した CNAME レコードをもう一度確認してください。


# DNSのDKIMレコードとは？

https://www.cloudflare.com/ja-jp/learning/dns/dns-records/dns-dkim-record/

DKIMレコードは、電子メールの真正性を確認するために使用される公開鍵を登録する、特殊なDNS TXTレコードです。

DomainKeys Identified Mail（DKIM）は、スパマーやその他の悪意のある者が正当なドメインになりすますことを防止するためのメール認証方式です。

すべての電子メールアドレスにはドメイン（アドレスの「@」記号の後の部分）があります。スパマーや攻撃者は、フィッシング攻撃やその他の詐欺を行うために、メールを送信する際のドメインをなりすまそうとすることがあります。

チャックは、example.comで働いているアリスを騙して、会社の機密情報を送らせたいと考えていると想定してください。チャックは、「bob@example.com」から送られたように見えるメールを彼女に送ることで、彼もexample.comの社員だと思わせることができます。

DKIMは、Sender Policy Framework（SPF）とDomain-based Message Authentication Reporting and Conformance（DMARC）で、攻撃者がこのような方法でドメインをなりすますことをはるかに困難にしています。DKIMとSPFで不許可となった電子メールは、「スパム」としてマークされたり、電子メールサーバーによって配信されなかったりします。example.comがDKIM、SPF、DMARCを設定した場合、メールは彼女のスパムフォルダーに入るか、メールサーバーによって完全に拒否されるため、アリスはチャックの悪意のあるメールを見ることはないでしょう。


# DKIMの仕組みにとは？
DKIMには主に2つの側面があります。ドメインのDomain Name System（DNS） レコードに保存されるDKIMレコードと、ドメインからのすべての電子メールに挿入されるDKIMヘッダーです。

DKIMは、公開鍵暗号に基づくデジタル署名方式を使用して、電子メールがどこから来たのか、実際にそのドメインから電子メールを送信するサーバーから来たのかを認証します。送信者がメッセージに署名するための秘密鍵と、受信者が署名を検証するための公開鍵の2つの暗号鍵を使用します。受信者は公開鍵を使ってメッセージに署名することはできず、逆もまた同様です。

メールプロバイダーが、公開鍵と秘密鍵を生成します。公開鍵はドメイン所有者に渡され、ドメイン所有者は公開されているDNSレコード（DKIMレコード）に公開鍵を登録します。

そのドメインから送信されるすべての電子メールには、DKIMヘッダーが挿入されています。このヘッダーには、「デジタル署名」と呼ばれる秘密鍵で署名されたデータのセクションが含まれています。メールサーバーは、DKIMのDNSレコードを確認して公開鍵を取得し、その公開鍵を使ってデジタル署名を検証することができます。

このプロセスは、電子メールが送信中に改ざんされていないことも保証します。電子メールのヘッダや本文が改ざん（薬缶の改ざん防止シールのようなもの）されていると、デジタル署名は検証されません。

# 関連資料

+ [DKIM をセットアップするためのベスト プラクティス](https://help.salesforce.com/s/articleView?id=000381186&type=1)
+ [SPF と DKIM に関する FAQ](https://help.salesforce.com/s/articleView?id=000389240&type=1)
+ [DKIM 2048 が使用されている場合、リリース更新「送信者検証のために返信メールアドレスを確認する」は適用されないことを確認できますか?](https://qiita.com/Keiji_otsubo/items/630c8bf11efab7defbfc)




# エラー

+ [ Test Deliverability.(Undelivered): 550-5.7.26 This mail has been blocked because the sender is unauthenticated.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007Ywafr)

:::note
 I resolved the issue by following the steps provided in another Community post https://help.salesforce.com/s/articleView?id=sf.emailadmin_deliverability.htm&type=5 
:::

+ [活動からメールを送信してもメールが受信できません。活動の履歴としては、「⚠️不達」となっております。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ahl1u)

:::note
DKIMには詳しくないのですが、以下の説明が気になるところです。

設定自体は送信側のメールサーバーみたいなのでSalesforceに設定があるのかな？

作成者署名

メール送信者（作成者）のドメインで署名を付与する方式です。

自社のメールサーバで署名を行い、自社ドメインのDNSサーバにDKIMの公開鍵を設定します。

導入の手間はかかりますが、ヘッダFrom（メールソフト上で表示される差出人）のドメインとDKIM認証ドメインを一致させられるため、DMARCの認証にも合格することができます。


https://baremail.jp/blog/2021/03/02/1070/
:::

+ [DKIMキーのアクティベーションボタンを無効にする方法](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007UvniQ)

:::note
こちらの記事をご確認ください。

https://help.salesforce.com/s/articleView?id=000391930&type=1
:::

# 解答例

+ [Emails not being delivered in sandbox, Email log delivery showing DMARC policy](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ifuFs)

:::note alert
550-5.7.26 Unauthenticated email from example.com is not accepted due to
550-5.7.26 domain's DMARC policy. Please contact the administrator of
550-5.7.26 example.com domain if this was a legitimate mail. To learn about
550-5.7.26 the DMARC initiative, go to
550 5.7.26 https://support.google.com/mail/?p=DmarcRejection af79cd13be357-7ae377ce91dsi48178585a.59 - gsmtp
:::

:::note
Please check this article.

https://help.salesforce.com/s/articleView?id=000391969&type=1

I don't really know how to specifically fix DNS.
At my company, we ask the vendor to configure DNS-related network settings.
We asked our network vendor to fix it.
:::