无法从 Web 应用程序发送电子邮件
Unable to send email from web application
我查了一下,似乎其他人也有同样的问题,主要是因为 Gmail 阻止了应用程序的访问,但是我打开了 "allow less secure apps to connect" 选项,问题仍然存在。
这是我在尝试连接时从 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 进行连接,但出现超时(我认为这是 Explicit/Implicit 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,但没有用。
如果您的密码不再符合 Gmail 的复杂性标准,就会发生这种情况。尝试登录并更改它。
您的凭据仅存储在变量中,而不存储在 smtp 实例中。
设置
SmtpClient.Credentials = SmtpCredentials
还要确保使用 System.Net.Mail
可能存在一些问题。
- 您的防火墙可能会阻止它...(绕过它)
- 端口被封锁...(您需要允许)
- 如果您的电子邮件帐户启用了两步验证...
- 您正在创建的凭据永远不会应用于服务器凭据。
我已经在 here 之前回答过同样的问题,并且会回答您的所有问题。它还包括一个 link 用于发送我已回复的电子邮件。
我查了一下,似乎其他人也有同样的问题,主要是因为 Gmail 阻止了应用程序的访问,但是我打开了 "allow less secure apps to connect" 选项,问题仍然存在。
这是我在尝试连接时从 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 进行连接,但出现超时(我认为这是 Explicit/Implicit 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,但没有用。
如果您的密码不再符合 Gmail 的复杂性标准,就会发生这种情况。尝试登录并更改它。
您的凭据仅存储在变量中,而不存储在 smtp 实例中。
设置
SmtpClient.Credentials = SmtpCredentials
还要确保使用 System.Net.Mail
可能存在一些问题。
- 您的防火墙可能会阻止它...(绕过它)
- 端口被封锁...(您需要允许)
- 如果您的电子邮件帐户启用了两步验证...
- 您正在创建的凭据永远不会应用于服务器凭据。
我已经在 here 之前回答过同样的问题,并且会回答您的所有问题。它还包括一个 link 用于发送我已回复的电子邮件。