отправка электронной почты с помощью gmail с asp.net

1

Я пытаюсь отправить почту с помощью gmail в asp.net

Мой код:

using (MailMessage mm = new MailMessage(txtEmail.Text, txtTo.Text))
        {
            mm.Subject = txtSubject.Text;
            mm.Body = txtBody.Text;
            if (fuAttachment.HasFile)
            {
                string FileName = Path.GetFileName(fuAttachment.PostedFile.FileName);
                mm.Attachments.Add(new Attachment(fuAttachment.PostedFile.InputStream, FileName));
            }
            mm.IsBodyHtml = false;
            SmtpClient smtp = new SmtpClient();
            smtp.Host = "smtp.gmail.com";
            smtp.EnableSsl = true;
            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
            NetworkCredential NetworkCred = new NetworkCredential(txtEmail.Text, txtPassword.Text);
            smtp.UseDefaultCredentials = true;
            smtp.Credentials = NetworkCred;
            smtp.Port = 587;
            smtp.Send(mm);
            ClientScript.RegisterStartupScript(GetType(), "alert", "alert('Email sent.');", true);
        }

Но я получаю ошибку:

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

где моя ошибка?

  • 0
    порт должен быть 465?
  • 0
    Используйте smtp.UseDefaultCredentials = false
Показать ещё 2 комментария
Теги:
gmail

2 ответа

0
Лучший ответ

Вы можете попробовать следующие предложения:

  1. Попробуйте установить "UseDefaultCredentials" в "False" smtp.UseDefaultCredentials = false;
  2. Попробуйте войти в свою учетную запись Gmail, это может блокировать доступ.
  3. Попробуйте включить доступ к своей учетной записи Gmail, см. Эту ссылку для получения дополнительной информации. Http://email.about.com/od/gmailtips/qt/How-To-Unlock-Gmail-For-A-New-Email-Program-Or- Service.htm
  • 0
    Я попробовал ваши варианты, но та же проблема .....
  • 0
    Вы запускаете этот код со своего локального компьютера?
Показать ещё 2 комментария
0

Изменить "smtp.UseDefaultCredentials = true;" to "smtp.UseDefaultCredentials = false;". Или проверьте свою учетную запись gmail на код ниже.

using (MailMessage mm = new MailMessage(new MailAddress("[email protected]"), new MailAddress("[email protected]")))
        {
            mm.Subject = "test";
            mm.Body = "body test";

            mm.IsBodyHtml = false;
            SmtpClient smtp = new SmtpClient();
            smtp.Host = "smtp.gmail.com";
            smtp.EnableSsl = true;
            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
            NetworkCredential NetworkCred = new NetworkCredential("[email protected]", "password");
            smtp.UseDefaultCredentials = false;
            smtp.Credentials = NetworkCred;
            smtp.Port = 587;
            smtp.Send(mm);

        }

ОБНОВИТЬ

Перейдите по ссылке: google.com/settings/security?hl=ru_RU, и если поле "Доступ для менее безопасных приложений" отключено, нажмите "Настройки" и измените его на включенное. Затем проверьте свое соединение с кодом выше. Он работал для меня на новом пользователе gmail

  • 0
    показывая ту же проблему ...
  • 0
    Хорошо, я думаю, что я решил вашу проблему: перейдите по адресу : google.com/settings/security?hl=en_GB. Если поле «Доступ к менее защищенным приложениям» отключено, нажмите «Настройки» и измените его на «включен» ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню