通过 Exchange Web 服务 (EWS) 发送电子邮件

Send email via Exchange Web Services (EWS)

我正在尝试使用 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

感谢帮助...

感谢您发布更多信息。有了它,我能够识别出有同样问题的人。

看看这个答案:

您的 WebCredentials 用户名变量似乎有误。

假设您是针对公司网络上的本地 Exchange 服务器执行此操作,请尝试将 WebCredential 替换为 System.Net.NetworkCredential。

我知道这是一个旧线程...但是由于我今天遇到了类似的问题并找到了解决方案,我想我会让您知道...

问题出在您使用的 URI 上。而不是“https://webmail.domain.exchange.com" you should try "https://webmail.domain.exchange.com/EWS/Exchange.asmx