1

メールの送信に使用する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()と、次の 2 つのことが発生する可能性があります。

  • インターネット接続が利用できる場合、メールは実際に送信されます。
  • インターネットに接続されていない場合、メールはOutlook の送信トレイに保存されます。ユーザーに知らせるためにこれを知りたいのですが、どうすればよいですか?

使用してみ(Outlook._MailItem)oMsg).Sentましたが、例外がスローされるだけです。メールが本当に送信されたかどうかを確認する方法はありますか?

4

0 に答える 0