電子メール活動テーブル

電子メール活動を使用すると、顧客との電子メール通信を追跡および管理できます。

電子メール活動のアクション

Dataverse Web サービスでは、メール活動の以下のアクションを実行できます:

  • 電子メール活動を作成、取得、更新、削除する。

  • 電子メール メッセージを送信する。または電子メール テンプレート (Template) を使用して電子メール メッセージを送信する。 電子メール テンプレートの詳細については、電子メール テンプレートの作成を参照してください。

  • (ActivityMimeAttachment) 属性を使用して電子メールにファイルを添付する。

  • 大量の電子メールを一括で送信する。

  • 着信した電子メール メッセージが Microsoft Exchange Server からユーザーまたはキューへ配信されるようにする、または発信するメッセージがユーザーまたはキューから Microsoft Exchange Server へ送信されるようにする。

    Organization.RequireApprovalForuserEmailOrganization.RequireApprovalForQueueEmail (承認されたユーザー/キューに関してだけ電子メールを処理する) 組織属性が true (1) に設定されている場合、電子メール メッセージはユーザー/キューの既定電子メール アドレスが承認されている場合に限ってユーザー/キューから配信または送信されます。 SystemUser.EmailRouterAccessApprovalQueue.EmailRouterAccessApproval 属性は、それぞれユーザーとキューの既定電子メール アドレスのステータスを示し、値を 1 に設定する必要があります。 それ以外の場合は、受信メッセージと送信メッセージがブロックされます。 まだ承認状態でない場合、現在使用しているユーザー アカウントに prvApproveRejectEmailAddress 権限が割り当てられていれば、ユーザーまたはキュー レコードを更新してこの属性値を変更できます。

注意

Dataverse では、Email.StatusCode 属性を null にできません。

電子メール広告

Dataverse は、メールの一括メール要求を通じて大きな受信者リストにメールを送信する機能をサポートしています。 メールの一括処理要求が Dataverse に送られると、非同期サービス キュー内に非同期処理が作成され、それがバックグラウンド プロセスを使用してそのすべてのメール メッセージを送信します。 これでシステム パフォーマンスが向上します。

電子メール メッセージの一括送信には SendBulkMailRequest メッセージと BackgroundSendEmailRequest メッセージが使用されます。 電子メールの一括送信のシーケンスは次のとおりです。

  1. SendBulkMail 要求を実行します。 この要求は、対象となる電子メールの受信者を選択するクエリと、個々の電子メールを作成するための電子メール テンプレートで構成されます。

  2. 非同期サービスが受信者ごとに電子メール活動を作成します。

  3. 非同期サービスが各電子メール メッセージを送信します。 これらの電子メール メッセージの送信状態は "保留中" とされます。

  4. メール ルーター、Dynamics 365 for Outlook、またはサード パーティのメール送信コンポーネントが Dataverse にポーリングを行い、保留中のメール メッセージがないかどうかを調べます。保留中のメール メッセージが見つかった場合は、BackgroundSendEmail 要求を使用してメール メッセージをダウンロードします。

  5. BackgroundSendEmail 要求によって、保留中の電子メール メッセージが存在するかどうかがチェックされ、BackgroundSendEmailRequest メッセージの呼び出し元に電子メールがダウンロードされます。呼び出し元が複数の場合はダウンロードが同時に行われます。

    注意

    メール サービス プロバイダーの制限により、一定期間内に送信できるメール件数に影響する場合があります。 詳細情報: Exchange Online 制限 > 送信制限

  6. 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,  

メールの添付ファイルを作成する方法に関する完全なサンプル コードについては、サンプル: メールの添付ファイルの作成、取得、更新、および削除 を参照してください。

電子メール添付ファイルの再利用

電子メール添付ファイル レコードを作成すると、添付ファイルはファイル BLOB として保存されます。 ファイル BLOB は、電子メール添付ファイル レコードの ActivityMimeAttachment.AttachmentId 属性によって一意に識別されます。 したがって、他の電子メール レコードや電子メール テンプレート レコードで添付ファイルを再利用できるため、データベースに同じファイルのコピーを複数保持する必要はありません。

既存の添付ファイルを再利用するには

  1. 再利用する添付ファイルを含む ActivityMimeAttachment 行を取得します。次にコード例を示します。

    ActivityMimeAttachment retrievedAttachment = 
        (ActivityMimeAttachment)_serviceProxy
        .Retrieve(ActivityMimeAttachment.EntityLogicalName, _emailAttachmentId, new ColumnSet(true));  
    
  2. 次のコード例に示すように、新しい電子メールの添付ファイルを作成し、必要な電子メールまたは電子メール テンプレート行に関連付けて、取得した 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 ストレージに再配置されるにつれて変化しています。. Azure Blob Storage は、添付ファイル、注釈、ファイル、画像の保存にも使用されます。

移行期間

すべてのお客様の Dataverse リレーション ストアから Azure Blob Storage へのデータ移行は、2023 年 5 月に開始される予定です。 このデータ移行は、バックグラウンド プロセス (ジョブ) として実行されます。 既存の顧客の最初のデータ移動は、約 6 ~ 12 週間続くと予想され、データのサイズによってはさらに長くなる可能性があります。 最初のデータ移動の後、残りの移行は継続的なプロセスです。 12 か月より古い電子メールの説明はすべて Azure Blob Storage に自動的に移動されます。この 12 か月の移行期間は変更できません。 新しいメールは 12 か月経過するまで移動されません。 メールの説明の移行ジョブは定期的に (テナントごとに 30 - 60 日に 1 回程度) 実行されます。

このデータ移行は透過的ですが、例外として、移行プロセスが完全に完了した後の アクティビティポインター テーブルのサイズの現象が見られます。 容量 レポート内の Power Platform 管理センターでは、新しいメール ライン アイテムが ファイルの使用 で利用可能になります。 その結果、全体的なファイル ストレージの消費量が増加し、データベース ストレージの消費量が減少します。

注意

ファイル データの圧縮が原因で、拡大したファイル ストレージが、ActivityPointer テーブルから削除するスペースよりも小さくなる場合があります。

次のセクションで説明する制限は、すべてのデータ移動が完了していない場合でも、既に Dataverse マネージド Azure BLOB ストレージに移動しているデータに適用され始めています。

検索とフィルタ処理の制限

Azure Blob Storage に格納されているメールの説明 (本文) の場合、以下で説明するように、メールの説明のフィルター処理、検索、検索に特定の制限が適用されます。

フィルター

メール詳細のフィルター機能はサポートされていません。 考慮すべき具体的なポイントは次のとおりです。

  • FetchXML - FetchXML を使用してメール本文を検索することはできません。
  • 簡易検索 および高度な検索 - これらのメソッドを使用したメールの説明のフィルタリングはサポートされていません。

ヒント

簡易検索 の場合、フィルタリングはサポートされていませんが、メール本文を返される列として追加でき、本文データが結果に返されます。

検索中

メールの説明で、Dataverse 検索 を有効にして、メールの説明を検索できます。

参照

アクティビティ テーブル
サンプル: 電子メールの送信
Email テーブル
ActivityMimeAttachmentl テーブル

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。