无法使用c#在outlook中保存具有受保护附件的mailItem



我正试图在已发送的文件夹中创建mailItem的副本。创建后,我将消息保存在文件夹中。它适用于所有mailItem,除非我试图用附件保存mailItem,因为我在outlook中不允许保存附件权限。为什么mailItem.Save((不只为这种情况保存mailItem?在下面的代码中,我使用赎回在已发送文件夹中创建一个副本。msg.save((保存除我上面提到的邮件外的所有邮件。此外,我尝试在创建之前保存mailItem,但它不会生成entryId。

static void CreateSentFolderMail(Redemption.SafeMailItem newSentMail, string nvdID, Outlook.MailItem mailItem, Redemption.SafeMailItem safeMailItem)
{       
RDOFolder folder = Globals.ThisAddIn.session.GetDefaultFolder(rdoDefaultFolders.olFolderSentMail);
RDOMail msg = (RDOMail)folder.Items.Add(newSentMail);
RDOMail originalmsg = Globals.ThisAddIn.session.GetMessageFromID(mailItem.EntryID);
msg.Sent = true;
msg.SentOn = DateTime.Now;
msg.ReceivedTime =msg.CreationTime;
msg.Subject = safeMailItem.Item.Subject;
msg.To = safeMailItem.Item.To;
msg.BCC = safeMailItem.Item.BCC;
msg.Body = safeMailItem.Item.Body;
msg.Recipients = originalmsg.Recipients;
msg.Sender = Globals.ThisAddIn.session.CurrentUser;
msg.SentOnBehalfOf = Globals.ThisAddIn.session.CurrentUser;
msg.SetProps(NVDMailHeaderUtils.PS_INTERNET_HEADERS + NVDMailHeaderUtils.NVD_HEADER_ID, nvdID);
msg.Save();
} 

我使用了会话。GetRDOObjectFromOutlookObject,然后调用此方法获取RDOAttachment对象。但在使用此:会话之后。GetRDOObjectFromOutlookObject我无法保存邮件项。未执行Save,因此未生成EntryId。由于这个问题,我在这里得到了一个错误:RDOMail originalspg=Globals.ThisAddIn.session.GetMessageFromID(mailItem.EntryID(;说";无效条目Id";。我安装了新版本的赎回,解决了这个问题。

最新更新