1.背景
Salesforceから送信するメールにDKIMを設定する方法を記載します。
2.DKIM鍵の生成(Salesforceの作業)
Salesforceの設定画面でクイック検索に”DKIM”を入力して[DKIM鍵]を押下する。
[鍵を新規作成]を押下。
DKIM鍵の生成に必要な情報を入力して[保存]を押下。
参考までですが、設定内容について記載します。
・鍵サイズ:1048ビットしか対応していない場合以外は、セキュリティ強度から基本的に2048ビットで問題ないと思います。
・セレクター、代替セレクター:任意の文字列で大丈夫です。DNSサーバに登録したときに、SalesforceのDKIM鍵だとわかるように、”SF”とか付けるとか、作成した日付(YYYYMMDD)をつけるとか管理しやすいものがよいと思います。
・ドメイン:DKIM鍵を付与するアドレスのドメイン部分を入力します。Salesforceから送信するメールのアドレスが”xxx@test.com”だった場合、test.comと入力するイメージです。
・ドメイン一致パターン:DKIM鍵を付与するドメインのバターンを入力します。サブドメインを含めたい場合にはここで指定します。”xxx@test.com”だけではなく、”yyy@sub.test.com”から送信するメールに関してもDKIMを付与したい場合にはカンマで区切って”test.com,*.test.com”を入力します。
上記の画面が表示されてから5分くらいでDKIM鍵が生成されて以下の画面が表示されます。
『SalesforceによってDNSにこのDKIM鍵のTXTレコードが公開されました。この鍵を有効にする前に、ドメインのDNSにCNAMEレコードと代替CNAMEレコードを追加してください。』と記載がありますが、続いてドメインを管理するDNSサーバにCNAMEレコード登録することになります。
その際に必要な情報は、CNAMEレコードと代替CNAMEレコードとして上記に表示されていると思います。
3.CNAMEレコードの追加(DNSサーバの作業)
続いて、SalesforceではなくDNSサーバの作業になります。
xxx@test.comというメールを使用している場合、test.comというドメインを管理しているDNSサーバにSalesforceで生成したCNAMEレコードを登録するイメージです。
CNAMEレコードを登録する操作は使用しているサーバやサービス(AWS、Azureなど)によって異なるため、DNSの操作は参考までとなりますが、記載します。
今回使用したDNSサーバの設定画面は以下です。
また、Salesforceで生成されたCNAMEレコードは、以下の構造になっていると思います。
名称、値には以下のように値を入力します。最後のピリオドは入力不要で、comまでで問題ないです。
TTLについては3600を入力します。
これを代替CNAMEレコードについても実施して保存します。
正しく登録できているのかの確認として、MxTOOLBOXを使用します。
確認したいドメイン名(test.comなど)を入力して、[MX Lookup]を押下して以下のようにDNSレコードが見つかれば、問題なく登録できています。
DNSサーバの作業としては以上です。
4.DKIM鍵を有効化する(Salesforceの作業)
再度SalesforceのDKIM鍵の設定画面を開き、[有効化]を押下します。
今回はDNSサーバにCNAMEレコードを登録後、1時間くらいでSalesforceでDKIM鍵を有効化することができるようになりました。
これでDKIM鍵の設定はすべて完了です!
5.動作確認
実際に送信したメールにDKIM鍵が付与されているのかを確認する方法を記載します。
今回はGmailのアドレスに対してメールを送信したので、画面キャプチャはGmailのものになります。
対象のメールを開いて、右上の三点リーダからサブメニューを開きます。
[メッセージのソースを表示]を押下します。
上記の通り、メールの情報が表示され、DKIMが”PASS”となっていることがわかると思います。
Gmailの詳細画面はこのあたりの情報が非常に見やすいですが、ほかのメールサービスの場合は少しややこしいかもしれないです。その場合は詳細をコピーして、テキストエディタに張り付けて”DKIM”で検索すればヒットした箇所の隣に”PASS”とか表示されていると思います。
6.最後に
参考までですが、DKIMのメール認証のイメージは以下のようになります。
詳細に書くともっと複雑になりますが、test.comのDNSサーバにCNAMEレコードを登録することで、SalesforceのDNSサーバのTXTレコードにアクセスすることができるようになるくらいの感覚で大丈夫と思います。