我尝试使用Exchange Web服务(EWS)通过Exchange服务器发送电子邮件。 我已配置了一些参数,但无法发送。 我已尝试过其他方法,例如第三方程序集,并且可以发送,因为我认为我错过了一些参数或方法来配置我的连接。
我希望你能帮助我。
我已在下面贴了一些代码......
Try
Dim vFrom As String = "mail@domain.exchange.com"
Dim vTo As String = "personal@mydomain.es"
Dim vSubject As String = "Test " & DateTime.Now.ToString
Dim vBody As String = "Lorem ipsum dolor sit amet, consectetur adipiscing elit ..."
Dim vHost As String = "webmail.domain.exchange.com"
Dim vUsr As String = "boss@mydomain.es"
Dim vPsw As String = "1234567890"
Dim service As New ExchangeService(ExchangeVersion.Exchange2007_SP1)
service.Credentials = New WebCredentials(vUsr, vPsw, vHost)
service.Url = New System.Uri("https://" & vHost)
Dim mail As New EmailMessage(service)
mail.From = vFrom
mail.ToRecipients.Add("John", vTo)
mail.Subject = vSubject
mail.Body = vBody
mail.SendAndSaveCopy()
Catch ex As ServiceRequestException
MsgBox(ex.Message + " - sendMailExchange(ServiceRequestException)")
Catch ex As WebException
MsgBox(ex.Message + " - sendMailExchange(WebException)")
'Catch ex As SmtpException
' MsgBox(ex.Message + " - sendMailExchange(SmtpException)")
Catch ex As Exception
MsgBox(ex.Message + " - sendMailExchange(Exception)")
End Try
感谢您的帮助...
答案 0 :(得分:0)
感谢您发布其他信息。通过它,我能够找到具有相同问题的人。
看看这个答案: https://stackoverflow.com/a/13517513/2319909
WebCredentials
的用户名变量似乎可能有误。
答案 1 :(得分:0)
假设您正在对公司网络上的内部部署Exchange服务器执行此操作,请尝试使用System.Net.NetworkCredential替换WebCredential。
答案 2 :(得分:0)
我知道这是一个旧线程...但是由于我今天遇到了类似的问题,因此我找到了解决方案,我想我会让你知道...
问题是您使用的URI。而不是“ https://webmail.domain.exchange.com”,您应该尝试“ https://webmail.domain.exchange.com/EWS/Exchange.asmx”