2012-12-10 43 views
0

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

我一直在用JScript尝试各种各样的东西。
我宁愿不必写任何其他的东西而不是JScript。CRM 2011中的回复电子邮件活动图像

回答

1

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

GUID是电子邮件的GUID。
图像以Base64的形式存储在d:Body中。
现在我需要做的是与SRC =“数据的每个内嵌图像的改写IMG:图像/ PNG; BASE64,theverylongstring ...
所有内嵌图像将在响应为Base64保存

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); 
} 
+0

这种声音。就像一个很好的选择,我如何从Javascript或工作流访问父邮件的附件?我试图访问父邮件的附件,但没有成功。我发现的唯一方法是直接从表格,但它有一个时间戳,这种方法看起来不正确 – Bvrce

+0

你必须找出如何保存附件,但我认为它就像一个附件的说明编辑我的答案 –

+0

我会发布,如果我发现如何附件得到保存。目前,我只能访问名称和其他我通过OrganizationalData获取附件的数据。我无法将动态值附件添加到工作流程,因此工作流似乎超出了等式。 – Bvrce

相关问题