2016-09-18 116 views
0

我想寫將通過我的Exchange Server 2010的 發送電子郵件代碼和我得到這個錯誤:C#發送電子郵件通過Exchange服務器2010

An unhandled exception of type 'System.Security.Authentication.AuthenticationException' occurred in 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

您可以使用Exchange Web服務API(EWS)發送電子郵件。 EWS是一套老式的ASMX Web服務,與OWA位於同一臺服務器上。微軟甚至爲EWS發佈了一個託管API包裝器。

下面是有關如何使用EWS發送郵件的例子:http://code.msdn.microsoft.com/Send-Email-with-Exchange-50189e57

通常EWS可以在http://yourexchangeserver/ews/exchange.asmx中查到,但是與管理API,你可以使用自動搜索,自動找到你的Exchange服務器上的EWS的地址。

這裏是對自動發現等事情進行解釋的概述。對於Exchange 2003中

更新:

您可以使用WebDAV通過HTTP訪問Exchange 2003郵件存儲。 WebDAV使用起來有點痛苦,因爲如果OWA安裝需要它(即使Exchange 2007/2010上的OWA使用FBA,EWS也可以使用Windows身份驗證),您可能必須使用基於窗體的身份驗證(FBA)。

我從來沒有嘗試使用Exchange的WebDAV發送郵件(雖然我已經使用WebDAV的許多其他東西),但我發現了一個MSDN上的示例,您可能想嘗試。它使用Windows身份驗證,因此如果您的Exchange 2003 OWA設置爲使用FBA,它將不起作用。如果您需要使用FBA,請告訴我 - 我可能會在某處使用一些示例代碼。

+0

嘿,感謝您的回覆我做的權利,我現在使用Exchange Web服務API(EWS)。現在我得到這個錯誤:在Microsoft.Exchange.WebServices.dll中發生未經處理的類型爲「Microsoft.Exchange.WebServices.Data.ServiceRequestException」的異常,並且它表示與我的TLS/SSL有關。等待你的幫助謝謝你! – Yahav

+0

您使用Exchange名稱嗎?或者IP地址打到交換機?我相信嘗試將它切換到另一個您目前沒有使用的版本,因爲大多數證書都與名稱相關,而不是服務器的IP地址,因此請嘗試切換。我希望它有幫助。 –

相關問題