Я использую C# для отправки электронной почты с использованием SMTP и gmail-сервера.Отправка электронной почты с помощью live/gmail smtp
Ниже приведен код, используемый для отправки электронной почты. Я встречаю несколько ошибок, то есть
Для SMTP-сервера требуется защищенное соединение, или клиент не прошел аутентификацию. Ответ сервера: 5.5.1 Требуется аутентификация.
public static bool SendEmail(string from, string[] to, string[] cc, string[] bcc, string subject, string body, bool isBodyHtml, List<Attachment> attachmentList)
{
try
{
var mailMessage = new MailMessage();
var smtpClient = new SmtpClient();
mailMessage.From = new MailAddress(from);
mailMessage.To.Add(new MailAddress(string.Join(",", to)));
if (cc != null && cc.Any())
{
mailMessage.CC.Add(new MailAddress(string.Join(",", cc)));
}
if (bcc != null && bcc.Any())
{
mailMessage.Bcc.Add(new MailAddress(string.Join(",", bcc)));
}
mailMessage.Subject = subject;
mailMessage.Body = body;
mailMessage.IsBodyHtml = isBodyHtml;
if (attachmentList != null)
{
foreach (var attachment in attachmentList)
{
mailMessage.Attachments.Add(attachment);
}
}
smtpClient.Host = "smtp.gmail.com";
smtpClient.Port = 587; //465
smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", "passsword");
smtpClient.EnableSsl = true;
smtpClient.Send(mailMessage);
return true;
}
catch (Exception ex)
{
return false;
}
}
Что я делаю неправильно и как я могу использовать Gmail для отправки электронной почты.
Вы проверили, что учетные данные действительно правильные? – Adwaenyth
Да, учетные данные верны. – Immortal
поместите эту строку в свой код, если вы укажете конкретный адрес электронной почты и пароль 'smtpClient.UseDefaultCredentials = false;' –