无法从Web应用程序发送电子邮件

时间:2015-01-27 16:33:30

标签: asp.net vb.net email smtp

我已经看了这个,似乎其他人也遇到了同样的问题,主要是因为Gmail阻止了应用程序的访问,但我已经开启了#34;允许不太安全应用程序连接"选项和问题仍然存在。

这是我尝试连接时从ASP.net获得的完整错误消息。

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at

我尝试使用端口465进行连接,但是我认为这是显式/隐式SSL问题

这是我用来发送电子邮件的代码。

Dim Mail As New MailMessage
    Dim EmailToMail As New MailAddress(EmailTo, EmailToName)
    Mail.To.Add(EmailToMail)
    Dim FromE As New MailAddress(EmailFrom, "Something")
    Mail.From = FromE
    Mail.Body = Body
    Mail.Subject = Title

    Dim SmtpClient As New SmtpClient("smtp.gmail.com", 587)

    SmtpClient.UseDefaultCredentials = False
    Dim SmtpCredentials As New System.Net.NetworkCredential("MyEmail", "MyPassword")
    SmtpClient.DeliveryMethod = SmtpDeliveryMethod.Network
    SmtpClient.EnableSsl = True

    SmtpClient.Send(Mail)

我还尝试将UseDefaultCredentials设置为True,但这并不起作用。

3 个答案:

答案 0 :(得分:1)

您的凭据仅存储在不在smtp实例中的变量中。

设置

SmtpClient.Credentials = SmtpCredentials

还要确保使用System.Net.Mail

答案 1 :(得分:0)

如果您的密码不再符合Gmail的复杂性标准,则会发生这种情况。尝试登录并更改它。

答案 2 :(得分:0)

可能会有一些问题。

  1. 你的防火墙可能会阻止它......(绕过它)
  2. 端口被阻止...(您需要允许它)
  3. 如果您在电子邮件帐户中启用了两步验证...
  4. 您创建的凭据永远不会应用于服务器凭据。
  5. 我已经在here之前回答了同样的问题并且会回答你所有的问题。它还包括用于发送我已经回答的电子邮件的链接。