2012-02-16 55 views
1

正在为Outlook 2007编写一个Outlook加载项。这是一个VSTO 3.0,C#加载项。我捕获加载项中的发送事件,然后检查一些电子邮件属性(正在发送),并基于该属性显示一些警报。如何获取Outlook邮件项目的大小?

当我尝试使用mailItem.Size获取电子邮件的总大小时,它始终返回0,而电子邮件的实际大小不是0.如果我保存电子邮件(mailitem.Save()),那么mailItem.Size返回正确的邮件大小。 有没有人知道这种行为背后的原因。有没有其他途径来获得电子邮件大小?

+0

保存项目之前,它在内存中。保存后,它将保留到MAPI存储。 – 2016-03-28 20:02:58

回答

0

是否有任何人知道这种行为背后的原因。有没有其他途径来获得电子邮件大小?

据我所知,这是在Outlook中的默认行为。直到您保存/发送时,您的大小才能达到。

但是,如果有帮助,您可以检查附件大小或体长?

2

是的,这是Outlook中的默认行为。
我建议你在发送之前保存它(MailItem.Save)。
保存电子邮件将把它放在草稿文件夹中......但谁在乎,因为您现在将检查其大小(MailItem.Size)并发送它(MailItem.Send)。

相关问题