赎回附件文件名的转义与Outlook不同

问题描述 投票:0回答:1

我们正在尝试保存用户使用Redemption选择的附件,但偶然发现VSTO和Redemption之间的文件名转义不一致。我们的工作:

  1. 通过附件上下文菜单,将attachmentSelection [1]索引和文件名以及消息entryId和storeId保存到db。
  2. [一段时间后(甚至在Outlook重新启动后,我们需要将此附件保存到文件中。为此,我们通过id获得带有Redemption的电子邮件,通过索引获取附件(rdoMail.Attachments [index]),并确保文件名匹配,这是因为:https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.outlook.attachment.index?view=outlook-pia#Microsoft_Office_Interop_Outlook_Attachment_Indexindex属性仅在当前会话期间有效。尽管不清楚它们的含义。如果已经保存并发送电子邮件,可以更改吗?还是收到?
  3. 对于回复电子邮件,VSTO附件。文件名是“ RE Test.msg”,而RDOAttachment.Filename是“ RE_ Test.msg”(这是另一封电子邮件的消息附件)。

所以,问题是:

  1. 为什么不同,它在某处有记录?例如,我们可以将_替换为string.Empty作为赎回文件名吗?]
  2. 或者也许可以通过某种方式从Outlook Attachment对象中获取RDOAttachment?
  3. 我们能否依靠Redemption附件索引与Outlook相同?

我们正在尝试保存用户使用Redemption选择的附件,但偶然发现VSTO和Redemption之间的文件名转义不一致。我们的工作:通过附件上下文菜单保存...

outlook vsto outlook-redemption
1个回答
0
投票
  1. 听起来像您正在处理嵌入式邮件附件-与公开PR_ATTACH_LONG_FILENAME MAPI属性的常规按值附件不同,嵌入式附件没有内部文件名属性。当您通过RDOAttachment.EmbeddedMsg.Subject进行访问时,OOM和赎回都会从嵌入式消息主题生成该属性。 OOM根本不公开嵌入式邮件附件。

© www.soinside.com 2019 - 2024. All rights reserved.