При попытке отправить электронное письмо с C# я получаю сообщение «Отказ от отправки почты». Внутреннее исключение: «Не удалось выполнить попытку подключения, потому что связанная сторона не ответила должным образом через какое-то время или не удалось установить соединение, потому что подключенный хост не ответил [ip-адрес]».Ошибка отправки почты, связанная сторона неправильно ответила
Вот код, который я в настоящее время, хотя я пробовал много вариаций но безрезультатно:
string To = "[my email]";
string From = "[my email]";
string Subject = "Test Email";
string Body = "Test email.";
MailMessage completeMessage = new MailMessage(From, To, Subject, Body);
SmtpClient client = new SmtpClient("smtp.microsoft.com", 25);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = true;
client.Credentials = new NetworkCredential("[my login]", "[my password]");
client.EnableSsl = true;
client.Send(completeMessage);
Я попытался это без номера порта, без учетных данных для входа, и без способа доставки (в основном на основе других версий, которые я видел как правильные ответы на подобные вопросы), но я всегда получаю то же исключение.
UPDATE:
на основе рекомендаций Раскина, я попытался это с моей учетной записи Gmail (в основном тестовое письмо от меня ко мне). Вот что у меня в коде:
string To = "[my email]@gmail.com";
string From = "[my email]@gmail.com";
string Subject = "Test Email";
string Body = "With stuff in it.";
MailMessage completeMessage = new MailMessage(From, To, Subject, Body);
SmtpClient client = new SmtpClient("smtp.gmail.com", 25);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = true;
client.Credentials = new NetworkCredential("[login]", "[password]");
client.EnableSsl = false;
Новое сообщение, которое я получил, был «Сервер SMTP требует защищенного соединения или клиент не прошел проверку подлинности Ответ сервера был:. 5.7.0 должны выдать команду STARTTLS сначала i3sm38798124pdf.39 - gsmtp ".
После изменения этой линии, я был в состоянии успешно отправлять и получать электронную почту:
client.EnableSsl = true;
Однако переключение обратно к исходной учетной записи учетных данных в результате одной и той же ошибки от ранее.
Очень сложно диагностировать такие проблемы здесь, учитывая, что все детали, которые вы используете, были изменены, попробовали ли вы вышеуказанный код с простой учетной записью GMail? – Ruskin
@ Рускин: Спасибо за идею. Я обновил вопрос соответствующим образом. –