c#.net アプリケーションからメールを送信しようとしています。次のコードを使用しました。
var mailItem = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
mailItem.Subject = "Error Report from user: " + AuthenticationManager.LoggedInUserName;
mailItem.HTMLBody = "Test email\n"+ReadSignature();
mailItem.To = "test@test.com";
mailItem.Display(true);
メールは送信されませんが、送信トレイ フォルダーに追加されます。Outlook が起動していないため、メールが送信されていないと思われます。だから私はググってこれを思いついた:
var oApp = new Outlook.Application();
Microsoft.Office.Interop.Outlook.NameSpace ns = oApp.GetNamespace("MAPI");
var f = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
Thread.Sleep(5000); // a bit of startup grace time.
var mailItem = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
mailItem.Subject = "Error Report from user: " + AuthenticationManager.LoggedInUserName;
mailItem.HTMLBody = "Test email\n"+ReadSignature();
mailItem.To = "test@test.com";
mailItem.Display(true);
しかし、もう一度それは送信トレイフォルダーに行き着きます。すべてのクライアント application.config で FromMail プロパティを指定できないため、Outlook を起動する必要があります。何か案は?