SMTP服务器需要安全连接VB.NET

时间:2017-11-10 12:19:41

标签: vb.net email smtp

 Dim smtp As New SmtpClient
                    Dim mail As New MailMessage
                    smtp.Credentials = New Net.NetworkCredential("mail@gmail", "password")
                        mail.From = New MailAddress("mail@gmail.com")
                        mail.To.Add(totxt.Text$)
                        mail.Body = bodytxt.Text
                        If Not ListBox1.Items.Count <= 0 Then
                            Dim d As Integer
                            Dim attach As New Attachment(ListBox1.Items(d))
                            mail.Attachments.Add(attach)
                        End If
                    mail.Subject = subjecttxt.Text
                    smtp.EnableSsl = True
                    smtp.Port = "587"
                    smtp.Host = "smtp.gmail.com"
                    smtp.Send(mail)
                    smtp.Dispose()
                    done.Text = "Mail sent"
                    PictureBox4.BackgroundImage = My.Resources.tickfnl
                    dtls.Visible = False

我正在尝试从我的Gmail帐户发送电子邮件。但我收到错误“SMTP服务器需要安全连接”。我甚至在我的帐户设置中启用了LESS-SECURE APP登录。密码和电子邮件地址是正确的我尝试了另一封电子邮件但同样的问题。有什么问题吗?

我从重复链接中搜索了所有解决方案,仍然存在同样的问题

**如果我删除此行

smtl.enablessl=true

然后我收到此错误

服务器resposnse是5.7.0 **

使用EASendMail修复错误

1 个答案:

答案 0 :(得分:0)

使用EASendmail修复它:

 Panel6.Visible = True
        done.Text = "Sending..."
        ''''''''''''''''''''''''
        Dim oMail As New SmtpMail("TryIt")
        Dim oSmtp As New EASendMail.SmtpClient()
        oMail.From = fromtxt.Text
        oMail.To = New AddressCollection(totxt.Text)
        oMail.Subject = subjecttxt.Text
        If html.CheckAlign = True Then
            oMail.HtmlBody = bodytxt.Text
        Else
            oMail.TextBody = bodytxt.Text
        End If
        Dim oServer As New SmtpServer(MailConfig.host.Text)
        oServer.Port = MailConfig.port.Text
        oServer.ConnectType = SmtpConnectType.ConnectSSLAuto
        oServer.User = fromtxt.Text
        oServer.Password = MailConfig.password.Text
        Dim r As Integer
        If ListBox1.Items.Count <= 0 Then
        Else
            oMail.AddAttachment(ListBox1.Items(r))
        End If
        oSmtp.LogFileName = Application.StartupPath & "\maillog.log"
        Try
            oSmtp.SendMail(oServer, oMail)
            done.Text = "Mail sent !"
            PictureBox4.BackgroundImage = My.Resources.tickfnl
        Catch ex As Exception
            aa = MsgBox(ex.Message)
            done.Text = "Sending failed."
            PictureBox4.BackgroundImage = My.Resources.excll
        End Try