我正在尝试编写一个代码,通过我的Exchange Server 2010发送电子邮件 我得到这个错误:
未处理的类型异常 发生'System.Security.Authentication.AuthenticationException' System.dll中
我确认在我的Exchange服务器上发送匿名电子邮件,我的所有信息都是正确的(IP,端口,用户名和密码)。
但仍然无法发送。
以下是我在c#中使用的代码:
SmtpClient client = new SmtpClient();
client.Port = 25;
client.Host = "myip";
client.EnableSsl = true;
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("username", "password");
MailMessage mm = new MailMessage("myEmail", "SendToEmail", "test","test" );
mm.BodyEncoding = UTF8Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
client.Send(mm);
感谢您的帮助!
答案 0 :(得分:0)
您可以使用Exchange Web服务API(EWS)发送电子邮件。 EWS是一组与OWA在同一服务器上托管的老式ASMX Web服务。 Microsoft甚至为EWS发布了一个托管API包装器。
以下是有关如何使用EWS发送电子邮件的示例:http://code.msdn.microsoft.com/Send-Email-with-Exchange-50189e57
通常可以在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用于其他一些事情)但我在MSDN上找到了一个你可能想尝试的例子。它使用Windows身份验证,因此如果您的Exchange 2003 OWA设置为使用FBA,它将无法运行。如果您需要使用FBA,请告诉我 - 我可能会在您可以使用的地方提供一些示例代码。