У меня есть следующий код, который я использую для отправки писем из своего приложения:
var config = DeserializeUserConfig(perfilAcesso.GetClientConfigPath() + "Encrypted");
using (SmtpClient client = new SmtpClient())
{
client.Host = config.GetClientSMTP();
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(config.GetClientEmail(), config.GetClientPassword());
using (MailMessage mail = new MailMessage())
{
mail.Sender = new MailAddress(config.GetClientEmail(), config.GetClientName());
mail.From = new MailAddress(config.GetClientEmail(), config.GetClientCompany());
mail.To.Add(new MailAddress("emailToReceive"));
mail.Subject = "[PME] SOS - Equipamento Parado";
mail.Body = "";
client.Send(mail);
MessageBox.Show("Email enviado com sucesso!");
}
}
Я установил для пользователя на выбор три возможных SMTP-хоста: Gmail ("smtp.gmail.com"
), Outlook ("smtp.live.com"
) и Yahoo ("smtp.mail.yahoo.com"
).
Когда я пытаюсь отправить и отправить электронную почту, используя учетную запись Yahoo, возникает исключение:
System.Net.Mail.SmtpException: почтовый ящик недоступен. Ответ сервера: Запрошенное почтовое действие не выполнено: почтовый ящик недоступен.
Я точно знаю, что при отправке писем с учетными записями Gmail и Outlook этот метод работает отлично, потому что я пробовал его несколько раз.
Что я делаю не так? Любая помощь будет принята с благодарностью!