我尝试从C#应用程序发送电子邮件,我可以通过以下几行轻松完成此工作(我正在使用Outlook 2003,并拥有我的Outlook帐户):
Outlook.ApplicationClass oapp = new Outlook.ApplicationClass();
omessage = oapp.CreateItem(Outlook.OlItemType.olMailItem) as Outlook.MailItem;
omessage.To = "abc@cba.com";
omessage.Subject = "Send From WinForm";
omessage.Body = "Hi, This message is send from a winform project.";
omessage.Send();
根据以上代码,可以成功发送电子邮件(尽管在发送电子邮件之前会显示一个警告框)。
我的问题是:这个omessage
项目如何知道我的Exchange服务器在哪里,而我从未在此应用程序中配置我的Exchange Server?
是否有任何方法可以从代码端获取Exchange Server名称?因为我真的需要这个服务器地址。
谢谢!
答案 0 :(得分:1)
您使用C#outlook dll \ add-in,您的应用程序使用outlook发送此mailitem。包括Exchange服务器地址在内的所有属性都在outlook中配置。这是一个在代码中公开交换服务器地址的方法:
Outlook.ApplicationClass oapp = new Outlook.ApplicationClass();
Outlook.NameSpace ns = oapp.GetNamespace("MAPI");
ns.Logon();
string ExchangeServer = ns.ExchangeMailboxServerName;
请注意,您必须定义Outlook.namespace属性才能通过MAPI获取地址