電子メール アクティビティ テーブルは、顧客とのメール通信を追跡および管理するのに役立ちます。
電子メール アクティビティに対するアクション
Dataverse Web サービスを使用すると、電子メール アクティビティに対して次のアクションを実行できます。
電子メール活動を作成、取得、更新、削除する。
電子メール メッセージを送信するか、電子メール テンプレート (
Template) を使用して電子メール メッセージを送信します。 電子メール テンプレートの詳細については、「メール テンプレートの 作成」を参照してください。電子メール メッセージの (
ActivityMimeAttachment) 属性を使用して、ファイルを添付ファイルとして添付します。大量の電子メールを一括で送信する。
着信した電子メール メッセージが Microsoft Exchange Server からユーザーまたはキューへ配信されるようにする、または発信するメッセージがユーザーまたはキューから Microsoft Exchange Server へ送信されるようにする。
Organization.RequireApprovalForuserEmailとOrganization.RequireApprovalForQueueEmail(承認されたユーザー/キューに対してのみメールを処理する) 組織属性が true (1) に設定されている場合、ユーザーまたはキューのプライマリ メール アドレスが承認されている場合にのみ、ユーザー メッセージまたはキューからメール メッセージが配信または送信されます。SystemUser.EmailRouterAccessApproval属性とQueue.EmailRouterAccessApproval属性は、それぞれユーザーとキューのプライマリ メール アドレスのステータスを示し、値を 1 に設定する必要があります。 それ以外の場合、受信メッセージと送信メッセージはブロックされます。 ユーザー アカウントに prvApproveRejectEmailAddress 権限が割り当てられている場合、属性値がまだ承認済み状態でない場合は、属性値を変更するようにユーザーまたはキュー レコードを更新できます。
注
Dataverse では、 Email.StatusCode 属性を null にすることはできません。
一括メール
Dataverse では、一括メール要求を通じて多数の受信者に電子メールを送信できます。 Dataverse に一括メール要求を送信すると、バックグラウンド プロセスを使用して電子メール メッセージを送信する非同期操作が非同期サービス キューに作成されます。 このプロセスにより、システムのパフォーマンスが向上します。
SendBulkMailRequestメッセージとBackgroundSendEmailRequestメッセージを使用して、一括メール メッセージを送信します。 次の一覧では、一括メールの送信に使用されるシーケンスについて説明します。
SendBulkMail要求を実行します。 このリクエストには、ターゲットのメール受信者を選択するクエリと、各メールを作成するためのメールテンプレートが含まれています。非同期サービスは、各受信者の電子メール活動を作成します。
非同期サービスは、各電子メール メッセージを送信します。 電子メール メッセージの送信ステータスは "保留中" です。
電子メール ルーター、Outlook用のDynamics 365、またはサードパーティの電子メール送信コンポーネントは、保留中の電子メール メッセージについて Dataverse をポーリングします。 見つかると、
BackgroundSendEmail要求を使用してメッセージがダウンロードされます。BackgroundSendEmail要求は、保留中の電子メール メッセージが存在するかどうかを確認し、BackgroundSendEmailRequestメッセージの発信者に電子メールをダウンロードし、複数の発信者がいる場合はダウンロードを同期する操作を実行します。注
メール サービス プロバイダーには、一定期間に送信できるメールの数に影響する制限がある場合があります。 詳細については、「送信制限>Exchange Online制限」を参照してください。
BackgroundSendEmailRequest メッセージの呼び出し元は、ダウンロードした電子メール メッセージを受信して送信します。
電子メールの添付ファイル
電子メールの添付ファイルは、メール メッセージまたは電子メール テンプレートに添付できるファイルです。 添付ファイルは、Office Outlook ドキュメント、Office Excel スプレッドシート、CAD ファイル、PDF ファイルなど、任意の標準的なコンピューター ファイル形式にすることができます。 複数のファイルをメールの添付ファイルとしてメールまたはメールテンプレートに添付できます。 Organization.MaxUploadFileSize プロパティは、アップロードできるファイルの最大サイズを決定します。 このプロパティは、Dynamics 365 アプリケーションのシステム設定の [電子メール] タブで設定します。 この設定では、メール メッセージ、メモ、Web リソースに添付できるファイルのサイズが制限されます。 既定の設定は 5 MB です。
電子メール メッセージまたはテンプレートを含む電子メール添付ファイルを添付するには、アクティビティ MIME 添付ファイル行を作成または更新するときに、 ActivityMimeAttachment.ObjectId 列と ActivityMimeAttachment.ObjectTypeCode 列を使用します。
次のコード サンプルは、電子メールに電子メールの添付ファイルを添付する方法を示しています。
ActivityMimeAttachment _sampleAttachment = new ActivityMimeAttachment{
ObjectId = new EntityReference(Email.EntityLogicalName, _emailId),
ObjectTypeCode = Email.EntityLogicalName,
Subject = "Sample Attachment",
Body = System.Convert.ToBase64String(new ASCIIEncoding().GetBytes("Example Attachment")),
FileName = "ExampleAttachment.txt"};
同様に、電子メールの添付ファイルを電子メールではなくテンプレートに添付するには、前のコードで次のように ActivityMimeAttachment.ObjectId 属性と ActivityMimeAttachment.ObjectTypeCode 属性の値を置き換えます。
ObjectId = new EntityReference(Template.EntityLogicalName, _templateId), ObjectTypeCode = Template.EntityLogicalName,
電子メールの添付ファイルを作成する方法の完全なコード サンプルについては、「 サンプル: 電子メールの添付ファイルを作成、取得、更新、削除する」を参照してください。
電子メールの添付ファイルを再利用する
電子メールの添付ファイル レコードを作成すると、Dataverse は添付ファイルをファイル BLOB として保存します。 電子メールの添付ファイル レコードの ActivityMimeAttachment.AttachmentId 属性は、ファイル BLOB を一意に識別します。 このプロセスにより、同じファイルの複数のコピーをデータベースに作成して格納することなく、他の電子メールおよび電子メール テンプレート レコードとの添付ファイルの再利用が容易になります。
既存の添付ファイルを再利用するには:
次のコード例に示すように、再利用する添付ファイルを含む
ActivityMimeAttachment行を取得します。ActivityMimeAttachment retrievedAttachment = (ActivityMimeAttachment)_serviceProxy .Retrieve(ActivityMimeAttachment.EntityLogicalName, _emailAttachmentId, new ColumnSet(true));次のコード例に示すように、新しい電子メールの添付ファイルを作成し、必要な電子メールまたは電子メール テンプレートの行に関連付け、取得した
ActivityMimeAttachment行の添付ファイルをポイントします。ActivityMimeAttachment _reuseAttachment = new ActivityMimeAttachment{ ObjectId = new EntityReference(Email.EntityLogicalName, _emailId), ObjectTypeCode = Email.EntityLogicalName, Subject = "Sample Attachment", AttachmentId = retrievedAttachment.AttachmentId};
既存の添付ファイルを再利用するため、電子メール添付ファイルの行を作成して電子メールまたは電子メール テンプレートに関連付けるときに、 ActivityMimeAttachment.Body と ActivityMimeAttachment.FileName 列の値を指定する必要はありません。
電子メール ストレージ
電子メールの説明 (電子メールの本文) は、この時点まで Dataverse リレーショナル ストアに格納されています。 これは、電子メール アクティビティ テーブルの Email.Description 列が非構造化 Azure Blob Storage に再配置されるにつれて変化しています。 Azure Blob Storage は、添付ファイル、注釈、ファイル、およびイメージのストレージにも使用されます。
移行期間
Dataverse リレーションシップ ストアからすべての顧客の Azure Blob Storage へのデータ移行は、2023 年 5 月に開始される予定です。 このデータ移行は、バックグラウンド プロセス (ジョブ) として行われます。 既存のお客様の初期データ移動は、約 6 ~ 12 週間続くと予想され、データのサイズによってはさらに長くなる可能性があります。 最初のデータ移動の後、残りの移行は継続的なプロセスです。 12 か月より前のすべての電子メールの説明は Azure Blob Storage に自動的に移動され、この 12 か月の移行期間は変更できません。 新しいメールは、12 か月経過するまで移動されません。 電子メールの説明移行ジョブは、テナントごとに約 30 日から 60 日に 1 回、定期的に実行されます。
このデータ移行はあなたにとって透過的ですが、移行プロセスが完全に完了した後に ActivityPointer テーブルのサイズが小さくなることを除きます。 容量レポート内の Power Platform 管理センターで、[ファイルの使用状況] で新しいメールの行項目を使用できるようになります。 最終的な結果として、ファイル ストレージ全体の使用量が増加し、使用されるデータベース ストレージが減少します。
注
ファイル データの圧縮により、ファイル ストレージの増加が ActivityPointer テーブルから削除される値よりも小さくなる可能性があります。
次のセクションで説明する制限事項は、すべてのデータ移動が完了していない場合でも、Dataverse マネージド Azure BLOB ストレージに既に移動されているすべてのデータへの適用を開始します。
検索とフィルター処理の制限事項
Azure Blob Storage に格納されている電子メールの説明 (本文) については、次のセクションで説明するように、電子メールの説明のフィルター処理、検索、検索に特定の制限が適用されます。
フィルタリング
電子メールの説明に対するフィルター処理はサポートされていません。 考慮すべき具体的な点を次に示します。
- FetchXML - FetchXML を使用して電子メール本文を検索することはできません。
- クイック検索と高度な検索 - これらの方法を使用して電子メールの説明をフィルター処理することはできません。
ヒント
クイック検索の場合、フィルター処理はサポートされていませんが、電子メール本文を返された列として追加し、結果に本文データを返すことができます。
検索
電子メールの説明で Dataverse 検索 を有効にして、電子メールの説明を検索できます。
こちらも参照ください
アクティビティ テーブル
サンプル: 電子メールを送信する
電子メール テーブル
ActivityMimeAttachment テーブル