Salesforce からメールを送信するためのメールアドレス検証
公開日: 2023.08.24
目次
この記事で学べること
- Salesforceからメールを送信するために必要となるメールアドレス検証に関する機能概要メールを送信するた
- メールアドレスの検証方法
この記事を読んでいただきたい方
本記事は、下記の条件に合致するSalesforce 組織の管理者様向けの情報となっています。
- Salesforce 組織でシングルサインオンを利用している
- Salesforce 組織でメール送信を行う業務がある
Salesforce からメールを送信するためのメールアドレス検証
そのため、現在の Salesforce 組織ではメールアドレスが未検証であるユーザのメールアドレスからは、メールを送信することができない動作となっています。
Spring’23 時点で、この動作はシングルサインオン(SSO)をご利用中の Salesforce 組織には適用されていませんでした。しかし Spring ’24 のリリースでは、 SSO をご利用中の Salesforce 組織にも本動作が適用される予定となっています。
つきまして、本記事では機能説明や Spring ’24 のリリースまでにお客様にご確認いただきたい情報を纏めておりますので、内容のご確認をお願い致します。
メールアドレスの検証とは
メールアドレスの検証とは、Salesforceからユーザへ送信されるメールアドレス検証のためのメールに記載されているURLをユーザ自身がクリックすることで、そのメールアドレスが正しいものであることを確認するための機能です。以下にメールアドレス検証用メールのサンプルをご紹介します。メール本文に記載されているURLをユーザがクリックすることでメールアドレスの検証が完了します。
- 備考
- 送信者/件名/本文はメールアドレス検証用メールの送信方法によって変わります。
このようなメールアドレス検証のための機能が実装されていましたが、その機能に関連してこれまでのメジャーリリースで以下の更新がありました。
- Spring’22
- メールアドレス検証を終えていないユーザがメール送信機能を使用した際に、メールアドレスの検証を促すメールが自動で送信される(Spring ‘23 リリースまでの間、ユーザに対して各リリースで 1 回だけ送信)。
- Spring’23
- メールアドレス検証を終えていないユーザは、メールアドレスの検証を終えるまで、メール送信ができなくなる。
上記の通り、メールアドレス未検証であるユーザによるメール送信は制限されるという動作が現状の Salesforce 組織の動作となります。この動作は SSO をご利用中の Salesforce 組織に関しては適用範囲外でした。
しかし、Spring '24 のリリースでは本動作が SSO をご利用中の組織にも適用される予定となりました。尚、一部のユーザだけが SSO を利用していたとしても、その組織は SSO を利用中とみなされ、本動作が Spring ’24 で適用される予定です。
メールアドレスが未検証であるユーザの確認方法
SSO 組織であっても、メールアドレスが未検証のユーザはメール送信ができなくなる予定であることを説明いたしましたが、それでは管理者はどのようにしてメールアドレス未検証のユーザを確認したらいいのでしょう。
まず最初にレポートを利用する方法をご紹介します。
メールアドレスの検証状況はユーザの「ユーザの検証済みメール」項目で確認することができます。[ ID 検証方法] のレポートタイプを使用することで、該当のレポートを作成することができます。「ユーザの検証済みメール」がOFFとなっている場合、そのユーザはメールアドレス未検証です。
「ユーザの検証済みメール」項目はユーザのリストビューでも確認することができます。
ユーザのリストビューに「ユーザの検証済みメール」項目を追加することで、リストビューからメールアドレスの検証状況を確認することができます。
またAPI等で「TwoFactorMethodsInfo」オブジェクトを参照することでもメールアドレスの検証状況を確認することができます。TwoFactorMethodsInfo オブジェクトの [HasUserVerifiedEmailAddress] 項目にメールアドレスの検証状況が格納されており、メールアドレスが未検証であるユーザの場合、[HasUserVerifiedEmailAddress] 項目が False になります。
尚、TwoFactorMethodsInfo オブジェクトには全てのユーザ(内部ユーザや外部ユーザ)が含まれます。確認したいユーザを内部ユーザのみに絞り込む場合は、「User」オブジェクトも併用します。確認対象のユーザを内部ユーザに絞り込む場合の例は以下となります。
- メールアドレス未検証ユーザの抽出
TwoFactorMethodsInfo オブジェクトから、 「HasUserVerifiedEmailAddress」 が「False」であるレコードを抽出。 - 内部ユーザの抽出
Userオブジェクトから、「UserType」が「Standard」であるレコードを抽出。 - メールアドレス未検証ユーザかつ内部ユーザの抽出
TwoFactorMethodsInfo オブジェクトのレコードとUserオブジェクトのレコードを、ユーザIDの値を利用して突合し、TwoFactorMethodsInfo オブジェクトから抽出したユーザを、Userオブジェクトから抽出したユーザに含まれるものに絞り込む。
*さらにUserオブジェクトの [IsActive] 項目を使用することで有効化されているユーザのみに絞り込むこともできます。
レポートやリストビュー、TwoFactorMethodsInfoオブジェクトを使用してメールアドレス未検証のユーザを確認することができたら、それらのユーザに対してメールアドレス検証用のメールを送信する方法を検討します。
メールアドレス検証用のメール方法
メールアドレスを検証するためには、Salesforce 組織から送信される検証用メールに記載されているURLをユーザがクリックする必要があります。Salesforce 組織からユーザに対して検証用メールを送信する方法は以下の通りです。
- 管理者による検証用メールの送信
(1)ユーザレコードを個別に開き、検証用メールを送信
(2)Apex メソッドを使用して、検証用メールを送信 - ユーザ自身による検証用メールの送信
(3)[高度なユーザの詳細] ページから、検証用メールを送信
上記の通り、
。*メールアドレス変更やパスワードリセットを実施した時にユーザに送信されるメールのURLをクリックすることでも、メールアドレスは検証されますが、本記事ではメールアドレス検証のみを目的としたメール送信方法をご紹介します。
(1)管理者がユーザレコードを個別に開き、検証用メールを送信
メールアドレス未検証のユーザのユーザレコードを確認すると、メール項目に「検証」と表示されています。
「検証」をクリックします。
対象のユーザは検証用メールを受信します。メールに記載されているURLをクリックして、メールアドレスの検証を進めます。
(有効期限は72時間です)
ユーザのユーザレコードを確認すると、メール項目に表示されていた「検証」が「検証済み」に変わります。
(2)管理者がApex メソッドを使用して、検証用メールを送信
Apexメソッド「System.UserManagement.sendAsyncEmailConfirmation」を使用することで、管理者が一括で検証用メールをユーザに送信することができます。
[使用手順]
- 検証用メールを送信する対象ユーザ(ユーザID)のリストを準備する
- Apexメソッド sendAsyncEmailConfirmation の userId パラメータに対象ユーザのユーザIDを指定する
実行例:System.UserManagement.sendAsyncEmailConfirmation(<userId>, null, null, null);
[多数のユーザに展開する場合の推奨フロー]
- Sandbox組織で事前に動作検証を行う (機能評価)
- 本番組織で動作確認のために少数のユーザに対して検証を行う (パイロット実施/フィードバック収集/手順の確立)
- 検証用メール送信対象のユーザに対して実施内容を事前に告知する(主旨、送信日時、メールの内容、対応手順等)
- 本番組織で段階的にユーザに展開する (一括で実施しない)
- リストビューやレポートを用いて、対象ユーザのメールアドレスが検証済みになっていることを確認する
- 検証を行わなかったユーザに対してフォローアップを行う
[留意点]
メールサービスでは同時に大量のメールを受信した場合にスパムと認識してメールをブロックするものがあります。
お客様にてご利用いただいているメールサービスにおける制限を事前にご確認いただき、もし対象ユーザ数が多い場合は、検証用メールを一度に送信するユーザ数や頻度を慎重にご検討ください。
(3)対象ユーザ自身が[高度なユーザの詳細] ページを開き、検証用メールを送信
メールアドレス検証用メールの送信は、対象ユーザ自身が行うことも可能です。
画面右上のユーザアイコンから「設定」をクリックします。
「高度なユーザの詳細」ページで、「メール」項目に表示されている「検証」をクリックします。
ユーザは検証用メールを受信します。メールに記載されているURLをクリックして、メールアドレスの検証を進めます。(有効期限は72時間です)
「高度なユーザの詳細」ページで「メール」項目を確認すると、メール項目に表示されていた「検証」が「検証済み」に変わります。
まとめ
- メールアドレス検証を終えていないユーザは、メールアドレスの検証を終えるまで、Salesforce 組織からメールを送信することができません。
- この動作は Spring’24 のリリースで、 を使用している組織にも適用される予定です。
- メールアドレス未検証、かつSalesforce組織上でメール送信を行う必要があるユーザについては、メールアドレスの検証を
参考情報
- Apex 開発者ガイド
- オブジェクトリファレンス
- リリースノート
- Spring ’22 : Salesforce からメールを送信するためのメールアドレスの検証
- Summer ’22 : Salesforce からメールを送信するためのメールアドレスの検証
- Winter ’23 : Salesforce からメールを送信するためのメールアドレスの検証
- Spring ’23 : Salesforce からメールを送信するためのメールアドレスの検証
- Summer ’23 : ユーザのメールアドレスの検証
- Winter ’24 : Verify Email Addresses to Send Email Through Salesforce
公開日: 2023.08.24
この情報は役に立ちましたか?
ご意見お待ちしております。
フィードバックありがとうございます。
より役に立つために
役に立たなかった一番の理由を教えてください。