前景如何.MailItem实例知道目标交换服务器是什么

本文关键字:目标 交换 服务器 是什么 实例 MailItem | 更新日期: 2023-09-27 18:05:56

我尝试从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服务器?

是否存在从代码端获得Exchange服务器名称的任何方法?因为我真的需要这个服务器地址。

谢谢!

前景如何.MailItem实例知道目标交换服务器是什么

您使用的是c# outlook dll插件,您的应用程序使用outlook发送此邮件。包括交换服务器地址在内的所有属性都在outlook中配置。下面是一个在代码中公开exchange服务器地址的方法:

Outlook.ApplicationClass oapp = new Outlook.ApplicationClass();
Outlook.NameSpace ns = oapp.GetNamespace("MAPI");
ns.Logon();
string ExchangeServer = ns.ExchangeMailboxServerName;

注意,为了通过MAPI

获取地址,您必须定义一个Outlook.namespace属性。