在Asp.Net中发送电子邮件时,获取错误传输错误代码为0x80040217

Smi*_*ily 19 asp.net smtp

我正在尝试发送电子邮件

但是我得到了这个错误.

邮件无法发送到SMTP服务器.传输错误代码是0x80040217.服务器响应不可用

任何有任何想法的人请帮助我

小智 15

发现当Gmail的安全设置不允许从您打算使用的地址发送邮件时,您也会收到此错误.我必须通过以下方式为我的帐户启用安全性较低的应用访问权限:

  1. 登录要用于从Excel发送电子邮件的地址.
  2. 访问https://www.google.com/settings/security/lesssecureapps页面
  3. 单击启用较少安全应用.
  4. 单击"完成".


小智 8

这是由SMTP服务器的用户名或密码错误引起的,通常意味着服务器已禁用您的帐户进行垃圾邮件我已发送1500封邮件


小智 5

谢谢你的回复,成功了!这是因为我没有启用此选项:https : //www.google.com/settings/security/lesssecureapps 如果有人需要它,这是我在 Qlikview 中使用的 VBScript 代码:

SUB SendMail
    Dim objEmail

    Const cdoSendUsingPort = 2  ' Send the message using SMTP
    Const cdoBasicAuth = 1      ' Clear-text authentication
    Const cdoTimeout = 60       ' Timeout for SMTP in seconds

     mailServer = "smtp.gmail.com"
     SMTPport = 465     '25 'SMTPport = 465
     mailusername = "marcos.esgu**@gmail.com"
     mailpassword = "Ki***"

     mailto = "marcos.esgu**@*****" 
     mailSubject = "my test-deleteme" 
     mailBody = "This is the email body" 

    Set objEmail = CreateObject("CDO.Message")
    Set objConf = objEmail.Configuration
    Set objFlds = objConf.Fields

    With objFlds
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = mailServer
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTPport
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = cdoTimeout
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasicAuth
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = mailusername
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = mailpassword
        .Update
    End With

    objEmail.To = mailto
    objEmail.From = mailusername
    objEmail.Subject = mailSubject
    objEmail.TextBody = mailBody
    'objEmail.AddAttachment "C:\report.pdf"
    objEmail.Send

    Set objFlds = Nothing
    Set objConf = Nothing
    Set objEmail = Nothing
END SUB
Run Code Online (Sandbox Code Playgroud)