電子郵件活動表幫助你追蹤和管理與客戶的電子郵件溝通。
電子郵件活動上的動作
透過使用 Dataverse 網路服務,您可以對電子郵件活動執行以下操作:
建立、擷取、更新和刪除電子郵件活動。
發送電子郵件消息,或使用電子郵件範本 (
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請求。 此請求包含一個選擇目標電子郵件收件者的查詢,以及一個用於撰寫每封電子郵件的電子郵件範本。非同步服務會為每個收件者建立電子郵件活動。
異步服務發送每封電子郵件。 電子郵件具有 「pending」 發送狀態。
電子郵件路由器、Dynamics 365 for Outlook 或第三方電子郵件傳送元件會輪詢 Dataverse,以取得待處理的電子郵件訊息。 如果找到,就會利用
BackgroundSendEmail請求下載訊息。該
BackgroundSendEmail請求執行以下作:檢查是否存在待處理的電子郵件,將電子郵件下載給消息的 BackgroundSendEmailRequest 調用者,如果有多個調用者,則同步下載。備註
你的電子郵件服務提供商可能會有限制,影響你在一段時間內能發送的郵件數量。 欲了解更多資訊,請參閱 Exchange Online 限制 > 發送限制。
訊息 BackgroundSendEmailRequest 的呼叫者會接收下載的電子郵件並發送。
電子郵件附件
電子郵件附件是你可以附加在電子郵件或電子郵件範本上的檔案。 附加檔案可以是任何標準電腦檔案格式,例如 Office Outlook 文件、Office Excel 試算表、CAD 檔案和 PDF 檔案。 您可以將多個檔案作為電子郵件附件附加到電子郵件或電子郵件範本。 Organization.MaxUploadFileSize 屬性決定了你能上傳檔案的最大大小。 在 Dynamics 365 應用程式的系統設定中,將此屬性設定為電子郵件。 此設定限制了您可附加於電子郵件、筆記及網頁資源的檔案大小。 默認設置為 5 MB。
若要附加帶有電子郵件訊息或範本的電子郵件附件,請在建立或更新活動 mime 附件列時使用 ActivityMimeAttachment.ObjectId and 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.ObjectTypeCode 和 ActivityMimeAttachment.ObjectId 屬性的值替換如下:
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 儲存體而變更。 Azure Blob 儲存體也用於儲存附件、註釋、檔案和影像。
過渡期
所有客戶從 Dataverse 關聯存放區到 Azure Blob 儲存體的資料遷移預計將於 2023 年 5 月開始。 此資料移轉將作為背景程序 (作業) 進行。 現有客戶的初始資料移動預計將持續約 6 至 12 週,甚至可能更長,具體取決於資料的大小。 在初始資料移動之後,任何剩餘的移轉都是持續的程序。 所有超過 12 個月的電子郵件描述都會自動移至 Azure Blob 儲存體,而且這 12 個月的轉換期間無法變更。 更新的電子郵件在滿 12 個月之前不會被移動。 電子郵件描述移轉作業會定期執行 - 大約每個租用戶每 30-60 天執行一次。
此資料移轉對您來說是透明的,但移轉程式完全完成之後,您會看到 ActivityPointer 資料表的大小減少。 在 Power Platform 系統管理中心的容量報告中,檔案使用狀況將新增電子郵件項目。 最終結果是整體檔案儲存體耗用量增加,並減少耗用的資料庫儲存體。
備註
檔案儲存體的增加量可能會小於因壓縮檔案資料而從 ActivityPointer 資料表中移除的量。
下一節中提到的限制將開始套用至已移至 Dataverse 受控 Azure Blob 儲存體的任何資料,即使所有資料移動都未完成。
搜尋和篩選限制
對於儲存在 Azure Blob 儲存體中的電子郵件描述(本文),如以下各節所述,在篩選、尋找及搜尋電子郵件描述方面有若干限制。
篩選
不支援在電子郵件描述上進行篩選。 以下是一些具體需要考慮的重點:
- FetchXML - 你無法用 FetchXML 搜尋電子郵件內容。
- 快速搜尋與進階搜尋——使用這些方法無法過濾電子郵件描述。
小提示
對於快速查找,雖然不支援過濾功能,但你可以將電子郵件正文作為回傳欄位,並在結果中回傳正文資料。
搜尋
您可以在電子郵件描述上啟用 Dataverse 搜尋 ,以搜尋電子郵件描述。