2012-01-05 21 views
0

電子メール送信:いくつかのトラブルが中に、私は次のクラス持っ

public class Email 
{ 
    public System.Net.Mail.SmtpClient SmtpClient 
    { 
     get 
     { 
      if (_client == null) 
      { 
        _client = new System.Net.Mail.SmtpClient(); 
      } 
      return _client; 
     } 
    } 
} 

をして使用して

static Email email = new Email(); 

    email.SmtpClient.Send(message); 

(方法で)と、このコードIのいくつかのコールの後例外を取得する:

サービスが利用できない、伝送チャネルを閉じる。サーバ の応答は:4.4.2サービスがタイムアウトしました。

なぜですか?

+3

スローされた例外には、送信できなかった理由に関する情報が必要です。デバッガを接続して詳細を見ると、詳細情報が必要です。私たちがあなたを助けることができるように投稿してください。 – JaredPar

+0

サービスを利用できません。伝送チャネルを閉じています。サーバーの応答は:4.4.2サービスがタイムアウトしました。 –

+0

接続の問題があるようです。テストを実行しているマシンからサーバに手動で接続できることを確認しましたか?また、ファイアウォールを一時的に無効にして、問題が解決するかどうかを確認してください。 – JaredPar

答えて

1

このエラーは、MessageRateLimitExceeded(複数のメッセージを送信する速度を制限する)を超過したか、接続が切断されたために発生した可能性があります。 SMTPサーバーには、セッションごとに送信できるデータの量と量を制限するその他の構成パラメーターもあります。 SmtpClientはプール内の接続も管理します( )ので、少数のメッセージを送信した後に新しいクライアントを作成する方がよいと思います。また、クライアントがQUITメッセージをサーバーに送信するように、クライアントを廃棄する必要があります。

エラー状況の詳細については、MSDN Articleを参照してください。

関連する問題