SmtpClient: попытка подключения не удалась, потому что связанная сторона не отвечала должным образом после определенного периода времени

Во время работы с отправкой электронной почты на С#.NET в visual studio 2008 я получил следующую ошибку

Не удалось выполнить попытку подключения, так как подключенная сторона не ответила должным образом через некоторое время или не удалось установить соединение, потому что подключенный хост не смог ответить 74.125.53.108:25

Но тот же код работал отлично на каком-то другом ПК, но когда я тестирую сегодня, он дает мне ошибку в методе Send()... Также мое сетевое соединение хорошо, где я тестирую код электронной почты.

Ниже мой код электронной почты

MailMessage mail = new MailMessage();
mail.To.Add(to);
mail.From = new MailAddress(from);
mail.Subject = subject;
mail.Body = body;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Credentials = new System.Net.NetworkCredential("[email protected]",
                                                            "MyPassword");
smtp.EnableSsl = true;
smtp.Send(mail);

Каковы могут быть причины такой ошибки..

Ответы

Ответ 1

Следующий код работает для меня. Ваш код выдавал мне ошибки, я полагаю, что это произошло из-за того, что порт не был установлен на 587.

http://forums.asp.net/t/1250771.aspx/4/10

MailMessage mail = new MailMessage();
mail.To.Add(to);
mail.From = new MailAddress(from);
mail.Subject = subject;
mail.Body = body;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient("smtp.gmail.com",587);
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential(address, password);
smtp.Send(mail);

Ответ 2

Это произошло со мной из-за Wi-Fi безопасности моей компании. Как только я перешел на открытый wifi, проблема была решена автоматически.