Я пытаюсь отправить электронное письмо на несколько адресов электронной почты. Но я получаю это исключение
A recipient must be specified
на этой линии
smtp.Send(mail);
Я проверил связанные сообщения в stackoverflow, затем попытался добавить эту строку
mail.To.Add(new MailAddress(c[0].Address));
но на этот раз в сообщении об исключении говорится
: Mailbox unavailable. The server response was: 5.7.3 Requested action aborted; user not authenticated
Это мой код:
MailMessage mail = new MailMessage();
mail.From = new MailAddress(emailFrom);
MailAddressCollection c = new MailAddressCollection();
c.Add(new MailAddress("[email protected]"));
mail.Subject = "some word";
mail.Body = "some word";
mail.IsBodyHtml = true;
if (c[0].Address.Contains("yahoo"))
{
using (SmtpClient smtp = new SmtpClient())
{
smtp.Credentials = new NetworkCredential(emailFrom,PASS);
smtp.EnableSsl = true;
smtp.Send(mail);
}
}
else if (c[0].Address.Contains("hotmail"))
{
using (SmtpClient smtp = new SmtpClient())
{
smtp.Port = 587;
smtp.Host = "smtp.live.com";
smtp.Credentials = new NetworkCredential(emailFrom, PASS);
smtp.EnableSsl = true;
smtp.Send(mail);
}
}
else if (c[0].Address.Contains("gmail"))
{
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Credentials = new NetworkCredential(emailFrom,PASS)
smtp.EnableSsl = true;
smtp.Send(mail);
}
emailFrom
имеет учетные данные домена вашей локальной сети и имеет некоторые ограничения на отправку почты. Если это так, вы можете захотеть разобраться с сетевым администратором. - person Carbine   schedule 21.10.2014mail.To.Add()
. Теперь ваша проблема заключается в том, чтоsmtp.live.com
отклоняет учетные данные, которые вы ему отправляете. Этот ответ может помочь - person Rhumborl   schedule 21.10.2014