all。このプロジェクトの私の意図は、他のプログラムが私のプログラムに電話をかけ、プロセスの完了を受信者に知らせるメッセージとともに携帯電話にSMSメッセージを送信することによってプロセス完了警告システムを作成することです(私の場合、 3ds Maxレンダリング)。SmtpException - リモートホストによって接続が強制的に閉じられました。 /操作がタイムアウトしました
残念ながら、このセクションのコードは完全に失敗します。 "smtp.Send(msg);"まで問題なく実行されます。この時点で、SmtpExceptionはリモートホストが強制的に私の「既存の接続」を閉じたことを通知します。
MailMessage msg = new MailMessage();
msg.From = new MailAddress("[email protected]");
msg.To.Add("[email protected]");
msg.Subject = "Subject";
msg.Body = "THIS IS A MESSAGE!";
SmtpClient smtp = new SmtpClient("smtp.att.yahoo.com", 645);
//smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
//smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("[email protected]", "password");
smtp.EnableSsl = true;
Console.WriteLine("Send Start...");
smtp.Send(msg);
Console.WriteLine("Message Sent");
私はここで何が起こっているのか知っている必要がありますが、私はしません。私は何時間も何時間もインターネットで検索し、似たような状況の人を見つけましたが、誰も彼らの嘆願に応えるように指示しました。多分私の運はここで良いでしょう。
ありがとうございます。
興味深いことに、リモートホストはもはや強制的に私の接続を終了しません。操作は単に時間切れです。
私はファイアウォールをオフにしても同じ問題を抱えているので、私はその1または2を考えていません。Outlookは同じ設定で問題がないようですそれも4番です。 –
素晴らしい! Outlookは動作するので、ファイアウォールが1分あたりの接続数を制限しないか、特定の時間帯にのみ接続を許可したり、プログラムの「ホワイトリスト」を持っていない限り、1、2、3を除外する必要があります。次のステップは、別のプロバイダ(Gmailなど)で試すことです。 Yahooがあなたのマシンを信頼しない(オプション#4)可能性が高いため、スパムを阻止するために意図的に接続を拒否する(実際のメールクライアントが後で再試行するため)。 – anon