メールの送信に使用する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
ましたが、例外がスローされるだけです。メールが本当に送信されたかどうかを確認する方法はありますか?