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
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Net.Mail.SmtpException: 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

Source Error:


Line 21:         smtp.Credentials = NetworkCred
Line 22:         smtp.Port = 587
Line 23:         smtp.Send(mm)
Line 24:         lblMessage.Text = "Email Sent SucessFully."
Line 25:     End Sub


Source File: C:\Users\user\Desktop\ContactUsForm\VB.aspx.vb    Line: 23 

Я действительно не знаю, что делать. Мой код за VB:

Imports System.Net
Imports System.Net.Mail
Partial Class VB
    Inherits System.Web.UI.Page
    Protected Sub btnSend_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim mm As New MailMessage("sender@gmail.com", "reveiver@gmail.com")
        mm.Subject = txtSubject.Text
        mm.Body = "Name: " & txtName.Text & "<br /><br />Email: " & txtEmail.Text & "<br />" & txtBody.Text
        If FileUpload1.HasFile Then
            Dim FileName As String = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName)
            mm.Attachments.Add(New Attachment(FileUpload1.PostedFile.InputStream, FileName))
        End If
        mm.IsBodyHtml = True
        Dim smtp As New SmtpClient()
        smtp.Host = "smtp.gmail.com"
        smtp.EnableSsl = True
        Dim NetworkCred As New System.Net.NetworkCredential()
        NetworkCred.UserName = "sender@gmail.com"
        NetworkCred.Password = "senderpassword"
        smtp.UseDefaultCredentials = True
        smtp.Credentials = NetworkCred
        smtp.Port = 587
        smtp.Send(mm)
        lblMessage.Text = "Email Sent SucessFully."
    End Sub
End Class

Ошибка в строке 23, где говорится smtp.Send(mm)

Я действительно нуждаюсь. Пожалуйста, кто-нибудь может мне помочь.

1 ответ

+ Изменить

smtp.UseDefaultCredentials = False

Вы не хотите использовать учетные данные по умолчанию, вы хотите использовать учетные данные, которые вы создали в своем коде.

https://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.usedefaultcredentials(v=vs.110).aspx

Другие вопросы по тегам