次の方法で共有


メール活動テーブル

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

電子メール アクティビティに対するアクション

Dataverse Web サービスを使用すると、電子メール アクティビティに対して次のアクションを実行できます。

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

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

  • 電子メール メッセージの (ActivityMimeAttachment) 属性を使用して、ファイルを添付ファイルとして添付します。

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

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

    Organization.RequireApprovalForuserEmailOrganization.RequireApprovalForQueueEmail (承認されたユーザー/キューに対してのみメールを処理する) 組織属性が true (1) に設定されている場合、ユーザーまたはキューのプライマリ メール アドレスが承認されている場合にのみ、ユーザー メッセージまたはキューからメール メッセージが配信または送信されます。 SystemUser.EmailRouterAccessApproval 属性と Queue.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 として保存されます。 電子メールの添付ファイル レコードの ActivityMimeAttachment.AttachmentId 属性は、ファイル BLOB を一意に識別します。 これは、データベースに同じファイルの複数のコピーを作成して保存することなく、他の電子メールおよび電子メール テンプレート レコードとの添付ファイルの再利用を容易にするために行われます。

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

  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.BodyActivityMimeAttachment.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 テーブル