使用outlook从C#发送的电子邮件将存储在发件箱中

时间:2013-10-29 07:09:19

标签: c# email outlook-2010

我有C#个应用程序,它使用Microsoft.Office.Interop.Outlook发送电子邮件。一切正常,我在下面附上了部分代码:

// Create the Outlook application.
Outlook.Application oApp = new Outlook.Application();
// Create a new mail item.
Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);

// Add email info text.
oMsg.HTMLBody = m_eMailBody;
oMsg.Subject = m_mailSubject;

// Add a recipient.
Outlook.Recipients oRecips = (Outlook.Recipients)oMsg.Recipients;
Outlook.Recipient oRecip = (Outlook.Recipient)oRecips.Add(hostEmail);
oRecip.Resolve();
// Send E-Mail via Outlook.
try
{
    ((Outlook._MailItem)oMsg).Send();
}
catch (Exception ex)
{
...

调用Send()后,可能会发生两件事:

  • 如果互联网连接可用,邮件实际上将已发送
  • 如果没有互联网连接,邮件将在outlooks发件箱中存储。我想知道这个,所以我可以通知用户,我该怎么办?

我尝试使用(Outlook._MailItem)oMsg).Sent,但它只是抛出异常。 有没有办法真正发现电子邮件是否真的被发送,有什么想法吗?

0 个答案:

没有答案