我知道如何使用安装在同一台机器上的outlook发送邮件,我正在运行我的代码。 现在,这里的要求是访问我组织的Exchange服务器(Microsoft OWA),以便用asp.net代码发送邮件。
有可能吗?如果是,那么请投入一些光。
日Thnx
的更新 的
得到了解决方案。在这里为任何想要帮助的人发布我的工作代码。快乐的编码!
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 !";
}
另一个问题:如何使用microsoft exchange 2003?那里不支持coz EWS。请更新任何想法......?
答案 0 :(得分:4)
您可以使用Exchange Web服务API(EWS)发送电子邮件。 EWS是一组与OWA在同一服务器上托管的老式ASMX Web服务。 Microsoft甚至为EWS发布了一个开源托管API包装器on GitHub。
以下是有关如何使用EWS发送电子邮件的示例: http://code.msdn.microsoft.com/Send-Email-with-Exchange-50189e57
GitHub自述文件还包含样本链接。
通常可以在http://yourexchangeserver/ews/exchange.asmx
找到EWS,但使用托管API,您可以使用自动发现自动在Exchange服务器上查找EWS的地址。
有关Exchange 2003的更新:
您可以使用WebDAV通过HTTP访问Exchange 2003邮件存储。 WebDAV使用起来有点痛苦,因为如果您的OWA安装需要,可能必须使用基于表单的身份验证(FBA)(相比之下,即使Exchange 2007/2010上的OWA使用FBA,EWS也可以使用Windows身份验证)。
我从来没有尝试过使用WebDAV for Exchange发送邮件(虽然我已经将WebDAV用于其他一些事情)但我找到了你可能想要尝试的example on MSDN。它使用Windows身份验证,因此如果您的Exchange 2003 OWA设置为使用FBA,它将无法运行。如果您需要使用FBA,请告诉我 - 我可能会在您可以使用的地方提供一些示例代码。
答案 1 :(得分:1)
可以通过您的组织交换服务器从asp.net发送电子邮件,但您不想使用OWA。
有一个专门针对.Net电子邮件的网站,它可以为您提供一些示例代码。看到: http://www.systemnetmail.com/
了解您需要让交换管理员让您的asp.net机器访问Exchange服务器上的SMTP端口(通常是端口25),并设置权限以允许您通过服务器中继消息。 / p>