2012-04-15 121 views
5

我试图通过交换Web服务发送邮件。我看着msdn并找到一些帮助。 每次我尝试运行这段代码,我发现了上述错误:( 我尝试读取几乎无处不在......交换Web服务错误 - 远程服务器返回错误405方法不允许

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010); 

service.Credentials = new WebCredentials("My user name", "my pass"); 

System.Net.ServicePointManager.ServerCertificateValidationCallback = 
     ((sender, certificate, chain, sslPolicyErrors) => true); 

service.Url = new Uri("my web service url.WSDL"); 
    EmailMessage appointment = new EmailMessage(service); 

appointment.Subject = "Test by me"; 
appointment.Body = "DateTime.Now"; 
appointment.ToRecipients.Add("[email protected]"); 

appointment.SendAnd 

SaveCopy(); 
+0

你有没有试图改变与域中的传递以及NetworkingCredentials WebCredentials?你能不能AXESS在Web浏览器中的.asmx网址是什么? – 2012-04-15 18:27:27

+0

我的坏,它嘘应该。 WSDL而不是ASMX。是的,我可以从网络浏览器访问它。我没有NetworkingCredentials选项。 – user1334890 2012-04-15 20:06:56

回答

15

当URL设置为服务,你其实应该使用ASMX,而不是WSDL链接。

service.Url = new Uri("https://server/EWS/Exchange.asmx"); 

这应该使其工作。

+0

好吧,我试了一下。并得到以下错误:“从服务收到的响应不包含有效的XML。”这就是我的代码现在的样子: service.Url = new Uri(“https://xx.xxx.xxx.xxx:xxxx/EWS/Exchange.asmx”); EmailMessage mail = new EmailMessage(service); mail.From = new EmailAddress(“[email protected]”); mail.ToRecipients.Add(“[email protected]”); mail.Subject =“电子邮件主题”; mail.Body =“电子邮件正文”; mail.Send(); – user1334890 2012-04-16 13:39:26

+0

您应该检查内部异常,看看它是否显示错误。 – 2012-04-16 19:32:20

+0

内部异常 - “根元素缺失” – user1334890 2012-04-17 15:11:46

相关问题