【发布时间】:2015-12-30 02:27:54
【问题描述】:
我最近发布了一个question,关于在发送电子邮件后保存电子邮件 - 除了一个小细节之外,我几乎可以正常工作。基本上,我能够在它发送之前捕获一封电子邮件,并用它做任何我想做的事情——在我的情况下,保存它。但是,如果您尝试访问该电子邮件的 CreationTime 属性,它会返回 4501 年 1 月 1 日凌晨 12 点。这很可能是因为它实际上还没有被“创建”,因为一旦我的代码完成执行并实际发送,它将在“已发送项目”文件夹中创建。
我想让这个即将发送的 MailItem 保持不变。我想复制它,将副本的 CreationTime 属性更改为 DateTime.Now,然后保存副本,然后让 Outlook 继续发送原件。但是,当我尝试修改 CreationTime 时,我收到一个错误,指出该属性是只读的。有没有办法“闯入”它?或者有什么办法强制写入什么的?
【问题讨论】:
-
是否有需要更改创建时间的原因..?
-
是的,当我将它保存到磁盘时,文件的创建时间设置为 MailItem 中的创建时间。我想我可以先保存电子邮件,然后修改结果文件的 CreationTime 而不是在代码中进行,但这似乎很混乱……尽管显然使用反射来更改只读属性更混乱?
-
只读属性就是这样......除非你了解反射,否则查看 MUG4N 的链接我看不出乱七八糟的地方......你需要更改该链接中的示例以适应你的用例
标签: c# outlook outlook-addin