0

如何保留图像以响应电子邮件活动?
在 CRM 中查看时,电子邮件中的图像会显示 - 它们被添加为附件。当我单击“回复”按钮、撰写回复并发送回复时,图像会从电子邮件中删除,并且不会附加到电子邮件中。

我一直在用 JScript 尝试各种事情。
我宁愿不必编写除 JScript 之外的任何东西。

4

2 回答 2

1

这可以通过 javascript 实现。我不知道你尝试了什么,但这可以做到。即捕获表单的发送事件并使用 Javascript 创建附件。

其他选项包括:

  • 您可以使用工作流程将父电子邮件的注释附加到响应中。但是随后您将被迫保存您的电子邮件,稍等片刻(执行工作流程),然后发送电子邮件。
  • 编写插件代码(但你不会使用除 Javascript 之外的任何其他东西

Javascript删除附件:

function deleteAttachments(){ 
    var notesId = {GUID of notes};
    var objNotes = new Object();
    objNotes.DocumentBody = null;
    objNotes.FileName = null;
    objNotes.FileSize = null;
    objNotes.IsDocument = false;
    updateRecord(notesId, objNotes, “AnnotationSet”);
}

function updateRecord(id, entityObject, odataSetName) {
        var jsonEntity = window.JSON.stringify(entityObject);
        var serverUrl = Xrm.Page.context.getServerUrl();
        var ODATA_ENDPOINT = “/XRMServices/2011/OrganizationData.svc”;
        var updateRecordReq = new XMLHttpRequest();
        var ODataPath = serverUrl + ODATA_ENDPOINT;
        updateRecordReq.open(‘POST’, ODataPath + “/” + odataSetName + “(guid’” + id + “‘)”, false);
        updateRecordReq.setRequestHeader(“Accept”, “application/json”);
        updateRecordReq.setRequestHeader(“Content-Type”, “application/json; charset=utf-8″);
        updateRecordReq.setRequestHeader(“X-HTTP-Method”, “MERGE”);
        updateRecordReq.send(jsonEntity);
}  
于 2012-12-10T20:53:40.990 回答
1

我可以在这里访问附件:
https:{org. URL}/xrmServices/2011/OrganizationData.svc/EmailSet(guid'3848cb4d-673f-e211-b9af-005056bd0001')/email_activity_mime_attachment

guid 是电子邮件的 guid。
图像以 Base64 格式存储在 d:Body 中。
现在我需要做的就是用 src="data:image/png;base64,theverylongstring... 为每个内联图像重写 img...
所有内联图像都将作为 Base64 保留在响应中。

于 2012-12-11T10:21:16.737 回答