Microsoft.Office.Interop.Outlookを使い始めたばかりです。以下のコードを使用してメールを送信できました。有効なOutlookアカウントを確認する
public void Send()
{
try
{
Outlook._Application _app = new Outlook.ApplicationClass();
var test = _app.CreateItem(Outlook.OlItemType.olMailItem);
Outlook.MailItem mail = (Outlook.MailItem) _app.CreateItem(Outlook.OlItemType.olMailItem);
mail.To = "[email protected]";
mail.Subject = "Test Outlook Subject";
mail.Body = "Test Outlook Body";
mail.Importance = Outlook.OlImportance.olImportanceNormal;
((Outlook.MailItem) mail).Send();
}
catch
{
Notification.Notice("Error");
}
}
私はそれが有効になって有効な見通しのアカウントがあるかどうかを確認しましょうということなのtry/catch前Validate()
機能を持っていると思います。 Outlookアカウントがセットアップされているかどうかをどのように確認できるか誰にでも聞かせてもらえますか?
私はこの
public bool validate()
{
Outlook._Application _app = new Outlook.ApplicationClass();
Outlook.Accounts accounts = _app.Session.Accounts;
return accounts.Count > 0;
}
を試みたが、accounts.Countは、私は私の見通しアカウントを削除した後でも1を返しました。
私はちょうどそこにあるかどうか知りたいです。それが適切に設定されているかどうかを知ることは、現在のプログラムに依存しません。それはtry/catchのためのものです。 – Master
あなたのtry/catchはエラーをキャッチしません - メッセージの送信は非同期です。運が良ければNDRを取得します。上記の更新された答えもご覧ください。 –