はじめに
Salesforceの開発・運用保守に従事していると、ユーザ情報(ユーザオブジェクト)の取扱いには神経を遣います。その中でも、ユーザ情報の登録・更新におけるメール通知パターンについて、検証した結果をここに記したいと思います。 今回は、前提として、内部ユーザにおける、画面入力とデータローダによるオーソドックスなパターンに絞っています。 外部ユーザ、Apex、各種APIを利用したプログラム、弊社製品での挙動は、また他の回で執筆したいと思います。
検証ケース
登録・更新パターン
①ユーザ新規作成
②ユーザ情報更新(パスワードリセット)
③ユーザ情報更新(ユーザ名)
④ユーザ情報更新(メールアドレス)
意識すべき状態
①組織のメール設定(「すべてのメール」「システムメールのみ」「アクセス権限なし」)
②ユーザの状態(有効ユーザ、凍結ユーザ、無効ユーザ)
I/F
①Salesforce画面入力
②データローダ(SOAP API)
検証!
検証パターン1-1.ユーザ新規作成 X Salesforce画面入力
No | 画面選択項目 「パスワードをリセットしてユーザに通知する」 | 組織のメール設定 | 結果 | メモ |
---|---|---|---|---|
1 | ON | 「すべてのメール」 | メール通知あり。 「Salesforce パスワードリセットのお知らせ」 |
通知メール文面にあるリンクをクリックして、パスワード設定画面にて確定する。 |
2 | OFF | 「すべてのメール」 | メール通知なし。 | パスワード不明のため、このままではログインできない。(※) |
3 | ON | 「システムメールのみ」 | メール通知あり。 「Salesforce パスワードリセットのお知らせ」 |
通知メール文面にあるリンクをクリックして、パスワード設定画面にて確定する。 |
4 | OFF | 「システムメールのみ」 | メール通知なし。 | パスワード不明のため、このままではログインできない。(※) |
5 | ON | 「アクセス権限なし」 | メール通知なし。 | パスワード不明のため、このままではログインできない。(※) |
※実運用開始までまだ時間があり、ユーザ情報のみ先に作成しておきたいといった場合には有効な手段かもしれません。
検証パターン1-2.ユーザ新規作成 X データローダ
No | USE Bulk API | 組織のメール設定 | 結果 | メモ |
---|---|---|---|---|
1 | OFF(つまりSOAP API) | 「すべてのメール」 | メール通知なし。 | パスワード不明のため、このままではログインできない。(※) |
2 | ON | 「すべてのメール」 | メール通知なし。 | パスワード不明のため、このままではログインできない。(※) |
※実運用開始までまだ時間があり、ユーザ情報のみ先に作成しておきたいといった場合には有効な手段かもしれません。
参考:ユーザの画面に「凍結」と表示がされますがこれはどのようなボタンですか?
検証パターン2.ユーザ情報更新(パスワードリセット) X Salesforce画面入力
No | ユーザの状態 | アクション | 組織のメール設定 | 結果 | メモ |
---|---|---|---|---|---|
1 | 有効 | ユーザ参照画面にて「パスワードのリセット」ボタンクリック | 「すべてのメール」 | メール通知あり。 「Salesforce パスワードリセットのお知らせ」 |
通知メール文面にあるリンクをクリックして、パスワード設定画面にて確定する。 |
2 | 有効 | ユーザ参照画面にて「パスワードのリセット」ボタンクリック | 「システムメールのみ」 | メール通知あり。 「Salesforce パスワードリセットのお知らせ」 |
通知メール文面にあるリンクをクリックして、パスワード設定画面にて確定する。 |
3 | 有効 | ユーザ参照画面にて「パスワードのリセット」ボタンクリック | 「アクセス権限なし」 | メール通知なし。 | 通知メールがなく、パスワードがリセットされているため、ログインする術がない。 |
4 | 凍結 | ユーザ参照画面にて「パスワードのリセット」ボタンクリック | 「すべてのメール」 | メール通知あり。 「Salesforce パスワードリセットのお知らせ」 |
凍結ユーザのためログインできない。 |
5 | 無効 | ユーザ参照画面にて「パスワードのリセット」ボタンクリック | 「すべてのメール」 | メール通知なし。『無効なユーザのパスワードはリセットしていません。』メッセージが表示される。 | 無効ユーザのパスワードリセットは出来ない。 |
ユーザ編集画面にて、「パスワードをリセットしてユーザに通知する」をONにして保存した場合も同じ挙動でした。 また、データローダでパスワード書き換えは出来ませんので割愛します。
検証パターン3.ユーザ情報更新(ユーザ名の変更) X Salesforce画面入力
No | ユーザの状態 | アクション | 組織のメール設定 | 結果 |
---|---|---|---|---|
1 | 有効 | ユーザ編集画面にて、ユーザ名を書き換えて保存する。 | 「すべてのメール」 | メール通知あり。 「Salesforce ユーザ名は変更されました。」 |
2 | 有効 | ユーザ編集画面にて、ユーザ名を書き換えて保存する。 | 「システムメールのみ」 | メール通知あり。 「Salesforce ユーザ名は変更されました。」 |
3 | 有効 | ユーザ編集画面にて、ユーザ名を書き換えて保存する。 | 「アクセス権限なし」 | メール通知なし。※変更は確定している。 |
4 | 凍結 | ユーザ編集画面にて、ユーザ名を書き換えて保存する。 | 「すべてのメール」 | メール通知あり。 「Salesforce ユーザ名は変更されました。」 |
5 | 凍結 | ユーザ編集画面にて、ユーザ名を書き換えて保存する。 | 「システムメールのみ」 | メール通知あり。 「Salesforce ユーザ名は変更されました。」 |
6 | 凍結 | ユーザ編集画面にて、ユーザ名を書き換えて保存する。 | 「アクセス権限なし」 | メール通知なし。※変更は確定している。 |
7 | 無効 | ユーザ編集画面にて、ユーザ名を書き換えて保存する。 | 「すべてのメール」 | メール通知なし。※変更は確定している。 |
8 | 無効 | ユーザ編集画面にて、ユーザ名を書き換えて保存する。 | 「システムメールのみ」 | メール通知なし。※変更は確定している。 |
9 | 無効 | ユーザ編集画面にて、ユーザ名を書き換えて保存する。 | 「アクセス権限なし」 | メール通知なし。※変更は確定している。 |
データローダで検証したところ、同じ結果でした。よって、割愛します。
ユーザ名は、SalesforceのログインIDですから、この情報が書き換わった際、ユーザに通知するのはシステムとして義務だと思います。その証拠に、Salesforceはユーザ名変更時のメール通知無効化の手段を提供していません。
ユーザ名が変更されたときにメール通知を無効にできますか? - Salesforce HELP
ですが、運用環境によっては、メール通知したくないケースもあると思います。
その際は、対象ユーザを一度無効化してから実施する事で、メール通知される事なく更新する事が出来るわけですが、そもそもユーザを無効化する場合の留意点もありますので、十分な検討が必要です。
ユーザの無効化 (削除) - Salesforce HELP
検証パターン4.ユーザ情報更新(メールアドレスの変更) X Salesforce画面入力
No | ユーザの状態 | アクション | 組織のメール設定 | 結果 | メモ |
---|---|---|---|---|---|
1 | 有効 | ユーザ編集画面にて、メールアドレスを書き換えて保存する。 | 「すべてのメール」 | メール通知あり。(新・旧両方に) 「Salesforce メールアドレス変更のお知らせ」 |
新のメールアドレスに通知されたメール内のリンクをクリックして変更が確定する仕様。 |
2 | 有効 | ユーザ編集画面にて、メールアドレスを書き換えて保存する。 | 「システムメールのみ」 | メール通知あり。(新・旧両方に) 「Salesforce メールアドレス変更のお知らせ」 |
新のメールアドレスに通知されたメール内のリンクをクリックして変更が確定する仕様。 |
3 | 有効 | ユーザ編集画面にて、メールアドレスを書き換えて保存する。 | 「アクセス権限なし」 | メール通知なし。 | 通知メールがないため、変更を確定出来ない。 |
4 | 凍結 | ユーザ編集画面にて、メールアドレスを書き換えて保存する。 | 「すべてのメール」 | メール通知あり。(新・旧両方に) 「Salesforce メールアドレス変更のお知らせ」 |
新のメールアドレスに通知されたメール内のリンクをクリックして変更が確定する仕様。 |
5 | 凍結 | ユーザ編集画面にて、メールアドレスを書き換えて保存する。 | 「システムメールのみ」 | メール通知あり。(新・旧両方に) 「Salesforce メールアドレス変更のお知らせ」 |
新のメールアドレスに通知されたメール内のリンクをクリックして変更が確定する仕様。 |
6 | 凍結 | ユーザ編集画面にて、メールアドレスを書き換えて保存する。 | 「アクセス権限なし」 | メール通知なし。 | 通知メールがないため、変更を確定出来ない。 |
7 | 無効 | ユーザ編集画面にて、メールアドレスを書き換えて保存する。 | 「すべてのメール」 | メール通知なし。 | 通知メールがないため、変更を確定出来ない。 |
8 | 無効 | ユーザ編集画面にて、メールアドレスを書き換えて保存する。 | 「システムメールのみ」 | メール通知なし。 | 通知メールがないため、変更を確定出来ない。 |
9 | 無効 | ユーザ編集画面にて、メールアドレスを書き換えて保存する。 | 「アクセス権限なし」 | メール通知なし。 | 通知メールがないため、変更を確定出来ない。 |
データローダで検証したところ、同じ結果でした。よって、割愛します。
メールアドレスの変更について、ユーザに通知するのが当然の挙動と思います。ですが、運用環境によっては、メール通知したくないケースもあると思います。メールアドレス変更における、ユーザ通知を抑止する術をSalesforce社は提供しています。↓こちらを熟読の上、手続きして頂ければと思います。
メールの変更通知を無効化する方法について - Salesforce HELP
おわりに
ユーザ新規作成とユーザ情報更新における、メール通知パターンを検証してみました。上記以外でメールが通知されるパターンがありましたら、コメント欄でご指摘頂きたいと思います。 今回は、前提として、内部ユーザにおける、画面入力とデータローダによるオーソドックスなパターンに絞っています。 外部ユーザ、Apex、各種APIを利用したプログラム、弊社製品での挙動は、また他の回で執筆したいと思います。 蛇足ではありますが、Salesforceはシーズンごとのバージョンアップを経て進化し続けていますので、念のため検証してから実運用の方針を決定して頂きたいと思います。 それでは、また。