我希望在转发电子邮件作为附件时提供一些支持,而不是使用EWS JavaScript API内联。
即使我是这个领域的一个完整的新手,我也不想在这里发表一个问题,然后尽可能多地阅读这个主题。我已经研究了所有可以获得的文档,包括msdn,github示例,Stackoverflow上的大部分问题以及dev.oulook文档,如:
https://dev.outlook.com/Samples/Addins
https://dev.outlook.com/reference/add-ins/
等。我找不到如何转发从收件箱中选择的当前电子邮件作为附件而不是内联(到预定义的电子邮件地址)的答案。
我尝试了什么: - 获取电子邮件的ItemId - 获取它的ChangeKey属性 - 使用这些值尝试以两种方式转发电子邮件: 1)在草稿中创建电子邮件,并尝试通过将所选电子邮件添加为附件来更新它 2)创建新电子邮件并添加从收件箱中选择的电子邮件作为附件
选项1)没有用,我注意到附件操作都是用于撰写电子邮件而不是草稿电子邮件(我猜的是奇怪的......但不是我的主要关注点)
选项2)使用此示例代码:
var soapToForwardItem = '<?xml version="1.0" encoding="utf-8"?>' +
'<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
' xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"' +
' xmlns:xsd="http://www.w3.org/2001/XMLSchema"' +
' xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' +
' xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">' +
' <soap:Header>' +
' <RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" />' +
' </soap:Header>' +
' <soap:Body>' +
' <m:CreateItem MessageDisposition="SendAndSaveCopy">' +
' <m:Items>' +
' <t:ForwardItem>' +
' <t:ToRecipients>' + addressesSoap + '</t:ToRecipients>' +
' <t:ReferenceItemId Id="' + item_id + '" ChangeKey="' + changeKey + '" />' +
' <t:NewBodyContent BodyType="Text">' + comment + '</t:NewBodyContent>' +
' </t:ForwardItem>' +
' </m:Items>' +
' </m:CreateItem>' +
' </soap:Body>' +
'</soap:Envelope>';
遗憾的是,结果是:一封新的电子邮件,旧的内联而不是附件(我有兴趣保留附加电子邮件的电子邮件标题以供日后访问)。 我看到有些示例可以将“内联”设置为false以用于文件附件,但不能设置为项目附件。
任何建设性的输入或工作代码片段都将受到高度赞赏。
谢谢!