«SMTP-сервер требует безопасного соединения или клиент не прошел проверку подлинности» - PullRequest
0 голосов
/ 04 ноября 2019

Невозможно решить проблему, включив доступ Google к менее защищенным приложениям и двухэтапную проверку

Я включил доступ Google к менее защищенным приложениям, но проблема все еще возникает. Я даже пытался включить двухэтапную проверку, но она также не сработала ..


Protected Sub sendMail_Click(sender As Object, e As EventArgs) Handles sendMail.Click
        Dim mainconn As String = System.Configuration.ConfigurationManager.ConnectionStrings("user_ConnectionString").ConnectionString
        Dim con As New SqlConnection(mainconn)

        Dim query As String = "Select email, password from user_information where email = @email"
        Dim cmd As New SqlCommand
        cmd = New SqlCommand(query, con)

        cmd.Parameters.AddWithValue("@email", txtBoxEmailSupport.Text.Trim)
        con.Open()
        Dim sdr As SqlDataReader = cmd.ExecuteReader()


        If sdr.Read() Then

            Dim email_password As String = sdr("email").ToString.Trim
            Dim password_reset As String = sdr("password").ToString.Trim

            Dim mm As New MailMessage("jackieyong36@gmail.com", txtBoxEmailSupport.Text.Trim)
            mm.Subject = "Your forgotten Password!"
            mm.Body = String.Format("Smtp is working, man~~", email_password, password_reset)
            mm.IsBodyHtml = True
            Dim smtp As New SmtpClient()
            smtp.Host = "smtp.gmail.com"
            smtp.EnableSsl = True
            Dim nc As New NetworkCredential("jackieyong36gmail.com", "12345")
            smtp.UseDefaultCredentials = True
            smtp.Credentials = nc
            smtp.Port = 587
            smtp.Send(mm)

            lblStatus.Text = "Your password has been sent to " + txtBoxEmailSupport.Text

        Else
            lblStatus.Text = "This email was not existed!"

        End If

1 Ответ

0 голосов
/ 04 ноября 2019

Я уже решил эту проблему с аутентификацией, этот код работает для меня, загрузите MailKit из nuget и добавьте к своим ссылкам .. вам нужно включить только менее безопасные приложения

Private Sub SendMail()
Dim message = New MimeMessage()
message.From.Add(New MailboxAddress("Mr. Kako Kak", "yourgmail@gmail.com"))
message.[To].Add(New MailboxAddress("Mrs. Chanandler Bong", "hisgmail@gmail.com"))
message.Subject = "subjectText"
message.Body = New TextPart("plain") With {
    .Text = "bodyText"
}

Using client = New SmtpClient()
    client.Connect("smtp.gmail.com", 465)
    client.AuthenticationMechanisms.Remove("XOAUTH2")
    client.Authenticate("yourgmail@gmail.com", "yourgmailpswd")
    client.Send(message)
    client.Disconnect(True)
End Using
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...