ASP.NET VB代码隐藏-错误服务器响应为:5.7.1客户端未通过身份验证

ASP.NET VB代码隐藏-错误服务器响应为:5.7.1客户端未通过身份验证,asp.net,vb.net,smtpclient,Asp.net,Vb.net,Smtpclient,我有一些ASP.NET代码,我需要发送电子邮件这是我所抄袭的如何发送电子邮件的过程,它尝试发送电子邮件,但经过相当长的暂停后,出现以下完整错误消息: “SMTP服务器需要安全连接,或者客户端未经身份验证。服务器响应为:5.7.1客户端未经身份验证。” 我已经在这个网站上发布了很多类似的错误,并应用了一些修复程序,这些修复程序应该允许我的代码发送电子邮件,但没有任何效果 我的ASP.NET代码运行在2012 r2服务器上,该服务器与运行Server 2008 r2和Exchange Server

我有一些ASP.NET代码,我需要发送电子邮件这是我所抄袭的如何发送电子邮件的过程,它尝试发送电子邮件,但经过相当长的暂停后,出现以下完整错误消息:

“SMTP服务器需要安全连接,或者客户端未经身份验证。服务器响应为:5.7.1客户端未经身份验证。”

我已经在这个网站上发布了很多类似的错误,并应用了一些修复程序,这些修复程序应该允许我的代码发送电子邮件,但没有任何效果

我的ASP.NET代码运行在2012 r2服务器上,该服务器与运行Server 2008 r2和Exchange Server 2013的邮件服务器位于同一内部网络上

ASP.NET服务器可以通过“remote.domainname.co.uk”访问,邮件服务器可以通过“Mail.domainname.co.uk”访问,其中domainname是实际域名的占位符

这是我正在使用的代码:

    Dim mailto As New MailAddress("toaddress@mydomain.com") 'My developer email add for testing.
    Dim mailfrom As New MailAddress("fromaddress@domainname.co.uk")
    Dim message As New MailMessage(mailfrom, mailto), Msg As String = ""
    Dim mailClient As New SmtpClient()
    Dim UserAndPass As New NetworkCredential()
    Dim Script = ""
    Dim n As Integer = 0
    Dim BodyText As String = ""

    Try

        message.Subject = "Issue relating to " & p.IssueDescription & "."

        'Create the body text:
        BodyText = "This email is to bring to your attention the following issue:" & NNL
        BodyText += "Building: " & p.Building & NL
        BodyText += "Location: " & p.Location & NL
        BodyText += "Issue:" & p.IssueDescription & NL
        BodyText += "Additional Information:" & NNL
        BodyText += p.AdditionalInfo & NNL
        BodyText += "Sent from the XYZ Logging System." & NL
        BodyText += "Date: " & Now.ToShortDateString & NL
        BodyText += "Time: " & Now.ToShortTimeString

        message.Body = BodyText

        'send the message
        mailClient = New SmtpClient("mail.domainname.co.uk", 25) 
        mailClient.EnableSsl = True
        mailClient.UseDefaultCredentials = False
        mailClient.Credentials = New Net.NetworkCredential("fromaddress@domainname.co.uk", "passwordtext")
        mailClient.Send(message)

        Script = "alert('"
        Script += "The Patrols Issue Email has been successfully sent!"
        Script += "')};"
        ClientScript.RegisterStartupScript(Me.[GetType](), "alert", Script, True)

    Catch ex As Exception
        PEH("SendEmail", "frmName", ex.Message) 'My error handler


    Finally

        'f.Dispose()
        mailClient.Dispose()
        message.Dispose()


    End Try
在Exchange服务器上,我有一组标准的接收连接器,我已经检查了它们是否都按照标准安装进行了配置,并且都已安装。我确实尝试创建了自己的接收连接器,但这导致了远程发件人发送的电子邮件出现问题,并出现了相同的“客户端未经身份验证”错误,因此我再次将其删除

在此方面的任何帮助都将不胜感激


格雷厄姆·西维尔。

确保SMTP凭据正确无误。如果您确信凭据正确,请与电子邮件服务器管理员联系以获得进一步帮助?进一步检查和一些WireShark操作,以在启动邮件之前检查代码是否正在向服务器发送Auth命令,这可能是它返回客户端未验证错误的原因?对于不推荐使用的Windows Server版本,您可能会遇到SSL或TLS版本与服务器上实际可用的不匹配。例如,您可以搜索确切的操作系统版本。哦,也许更有用,。谢谢你的提示,@Leskek P我是Exchange服务器的管理员,我知道凭据在用户和密码方面是正确的,但是我不清楚我是否应该使用user@domainnname.co.uk或者域名\用户,因为我还没有找到应该使用哪种形式的最终定义?@Andrew Morton-谢谢你的链接,我会看看的!