web-dev-qa-db-ja.com

SmtpClient:一定時間後に接続先が適切に応答しなかったため、接続試行が失敗しました

Visual Studio 2008でC#.NETのメール送信を使用しているときに、以下のエラーが発生しました

一定時間後に接続された側が適切に応答しなかったために接続試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗した74.125.53.108:25

しかし、同じコードが他の一部のPCで正常に機能していましたが、今日テストしているときに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);

そのようなエラーの理由は何でしょうか.. ???

22
DShah

次のコードは私のために働きます。あなたのコードは私にエラーを与えていました、それはポートを587に設定しなかったことが原因であると私は信じています。

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

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);
25
mutek

これは、会社のセキュリティwifiが原因で起こりました。 Wi-Fiを開くように変更すると、問題は自動的に解決されました。

2
SarahX