即使Outlook已关闭,也会发送Outlook MailItem

时间:2013-02-22 14:59:12

标签: .net outlook office-interop office-2010

我有一个.NET应用程序,允许用户单击一个按钮,该按钮将在Outlook中启动新的预先填充的消息。这在大多数情况下都很有效,只有一个小例外。如果用户在发送邮件时没有打开Outlook,则邮件将进入其发件箱,直到他们实际启动主Outlook应用程序。只有这样才能真正发生发送/接收。

以下是我用来创建MailItem的代码片段:

Dim mailItem As Outlook.MailItem = Me.OutlookApplication.CreateItem(Outlook.OlItemType.olMailItem)
mailItem.To = "test@test.com"
mailItem.Subject = "Some Subject"
mailItem.HTMLBody = "Some Text"
mailItem.Display(False)

我也加入了ItemSend的{​​{1}}事件,因此我可以看到当用户点击Outlook.Application中的Send时,Outlook成功加注事件。

如果用户启动邮件时Outlook未运行,则会生成新的OUTLOOK.EXE进程。在任何一种情况下,系统托盘中都会出现一个图标,表示Outlook已连接到外部应用程序。

我是否有可能以某种方式使用Interop触发发送/接收,因此我可以确保在不要求用户单独打开Outlook的情况下发送消息?

1 个答案:

答案 0 :(得分:1)

尝试使用Namespace.SendAndReceive

请记住,邮件提交是异步的,因此您需要保持Outlook.Application处于活动状态,直到发送/接收完成。