0

我正在尝试从我的 vb.net 表单应用程序发送 SMTP 电子邮件。应用此代码时,我收到以下错误。我究竟做错了什么?

代码:

Imports System.Net.Mail

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim SmtpServer As New SmtpClient()
            Dim mail As New MailMessage()
            SmtpServer.Credentials = New  _
            Net.NetworkCredential("myemail@gmail.com", "mypassword")
            SmtpServer.Port = 587
            SmtpServer.Host = "smtp.gmail.com"
            mail = New MailMessage()
            mail.From = New MailAddress("myemail@gmail.com")
            mail.To.Add("sendto@hotmail.co.uk")
            mail.Subject = "Test Mail"
            mail.Body = "This is for testing SMTP mail from GMAIL"
            SmtpServer.Send(mail)
            MsgBox("mail send")
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
End Class

错误:

System.Net.Mail.SmtpException:SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.0 必须先发出 STARTTLS 命令

错误信息

4

3 回答 3

4
  1. 检查登录名和密码是否正确;
  2. 使用 SmtpServer.EnableSsl = true;
  3. Gmail默认禁用使用凭据(用户名和密码)访问,您需要转到此页面:https ://www.google.com/settings/security/lesssecureapps和“启用不太安全的应用程序”,这意味着:“启用登录通过使用用户名和密码的应用程序”。更多详细信息:https: //support.google.com/accounts/answer/6010255
于 2015-07-17T01:08:18.470 回答
0

看看这是否有帮助;添加

SmtpServer.EnableSSL= true
于 2012-02-15T14:34:59.490 回答
-1

我知道这是去年,但我认为我应该在五分钟前发布答案,因为我遇到了同样的问题。

基本上您的登录凭据不正确,需要更改。

还要感谢之前的回答,这段代码允许我通过 SSL 加密发送电子邮件(我希望 LOL)。

于 2013-05-16T01:21:44.320 回答