在asp.net中使用EXCHANGE SERVER(Microsoft Outlook Web访问)发送邮件

Kin*_*ngs 12 c# asp.net exchange-server exchangewebservices

我知道如何使用安装在同一台机器上的outlook发送邮件,我正在运行我的代码.现在,这里的要求是访问我的组织的Exchange服务器(Microsoft OWA),以便在asp.net代码中发送邮件.

可能吗?如果是,那么请扔掉一些光.

日Thnx

UPDATE

得到了解决方案.在这里为任何想要帮助的人发布我的工作代码.快乐的编码!

protected void Button1_Click(object sender, EventArgs e)
{
     ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
    //service.AutodiscoverUrl("youremailaddress@yourdomain.com");

    service.Url = new Uri("https://yourwebmailaddress.com/ews/Exchange.asmx");

    service.UseDefaultCredentials = true;
    //service.Credentials = new WebCredentials("username", "password");


    EmailMessage message = new EmailMessage(service);
    message.Subject = "My auto mail from exchange server";
    message.Body = "hi everyone !";
    message.ToRecipients.Add("brad.pitt@hollywood.com");
    message.Save();

    message.SendAndSaveCopy();

    Label1.Text = "Success !";    
}
Run Code Online (Sandbox Code Playgroud)

另一个问题:如何使用microsoft exchange 2003?那里不支持coz EWS.请更新任何想法......?

Jak*_*sen 4

您可以使用 Exchange Web 服务 API (EWS) 发送电子邮件。EWS 是一组老式 ASMX Web 服务,与 OWA 托管在同一服务器上。微软甚至在 GitHub 上为 EWS发布了一个开源托管 API 包装器。

以下是有关如何使用 EWS 发送电子邮件的示例: http://code.msdn.microsoft.com/Send-Email-with-Exchange-50189e57

GitHub 自述文件还包含示例链接。

通常可以在以下位置找到 EWS,http://yourexchangeserver/ews/exchange.asmx但通过托管 API,您可以使用自动发现功能自动查找 Exchange 服务器上的 EWS 地址。

有关 Exchange 2003 的更新:

您可以使用 WebDAV 通过 HTTP 访问 Exchange 2003 邮件存储。WebDAV 使用起来有点麻烦,因为如果 OWA 安装需要的话,您可能必须使用基于表单的身份验证 (FBA)(相比之下,即使 Exchange 2007/2010 上的 OWA 使用 FBA,EWS 也可以使用 Windows 身份验证)。

我从未尝试过使用 WebDAV for Exchange 发送邮件(尽管我已经将 WebDAV 用于许多其他事情),但我在 MSDN 上找到了一个您可能想要尝试的示例。它使用 Windows 身份验证,因此如果您的 Exchange 2003 OWA 设置为使用 FBA,它将无法工作。如果您需要使用 FBA,请告诉我 - 我可能在某个地方有一些示例代码供您使用。