Как отправить электронное письмо с помощью C # через Gmail
Я получаю сообщение об ошибке при попытке отправить электронное письмо через веб-службу. Я попытался разрешить доступ к менее безопасным приложениям, отключив двухэтапную аутентификацию и войдя в учетную запись через веб-браузер. Ни одно из решений для SO не сработало для меня. Я все еще получаю:
Ошибка: System.Net.Mail.SmtpException: для SMTP-сервера требуется безопасное соединение или клиент не прошел проверку подлинности. Ответ сервера: 5.5.1 Требуется аутентификация.
Что я могу сделать, чтобы исправить эту проблему?
- Как проверить учетные данные smtp перед отправкой почты?
- Как отправить электронную почту с помощью простых команд SMTP через Gmail?
- Могу ли я тестировать SmtpClient перед вызовом client.Send ()?
- Отправить HTML-письмо через C # с помощью SmtpClient
- C # отправка писем со встроенными изображениями с использованием SmtpClient
namespace EmailService { public class Service1 : IService1 { public string SendEmail(string inputEmail, string subject, string body) { string returnString = ""; try { MailMessage email = new MailMessage(); SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; // set up the Gmail server smtp.EnableSsl = true; smtp.Port = 587; smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "mypassword"); smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.UseDefaultCredentials = false; // draft the email MailAddress fromAddress = new MailAddress("[email protected]"); email.From = fromAddress; email.To.Add(inputEmail); email.Subject = body; email.Body = body; smtp.Send(email); returnString = "Success! Please check your e-mail."; } catch(Exception ex) { returnString = "Error: " + ex.ToString(); } return returnString; } } }
- System.Net.Mail создает недействительные электронные письма и файлы eml? Вставка дополнительных точек в имена хостов
- c # Класс SmtpClient, не способный отправлять электронную почту с помощью gmail
- SmtpClient с Gmail
- отправка почты с сетевыми учетными данными как истина в форме Windows не работает
- Отправляйте e-mail через SMTP с помощью C #
- Каковы наилучшие методы использования SmtpClient, SendAsync и Dispose в .NET 4.0
- Как установить имя пользователя и пароль для объекта SmtpClient в .NET?
- Не удается выполнить авторизацию в Gmail smtp через MailMessage & smtpClient
Просто зайдите сюда: Менее безопасные приложения. Войдите в систему, используя свою электронную почту и пароль, которые используются для отправки почты в вашем коде c #, и выберите « Turn On
.
Также перейдите по этой ссылке и нажмите « Продолжить». Разрешите доступ к вашей учетной записи Google.
также я немного его отредактировал:
public string sendit(string ReciverMail) { MailMessage msg = new MailMessage(); msg.From = new MailAddress("[email protected]"); msg.To.Add(ReciverMail); msg.Subject = "Hello world! " + DateTime.Now.ToString(); msg.Body = "hi to you ... :)"; SmtpClient client = new SmtpClient(); client.UseDefaultCredentials = true; client.Host = "smtp.gmail.com"; client.Port = 587; client.EnableSsl = true; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Credentials = new NetworkCredential("[email protected]", "YourPassword"); client.Timeout = 20000; try { client.Send(msg); return "Mail has been successfully sent!"; } catch (Exception ex) { return "Fail Has error" + ex.Message; } finally { msg.Dispose(); } }
Если вышеуказанный код не работает, попробуйте изменить его, как следующий код:
SmtpClient client = new SmtpClient(); client.Host = "smtp.gmail.com"; client.Port = 587; client.EnableSsl = true; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("[email protected]", "YourPassword");