【Java】メール送信と受信メール構成のタイムアウト時間
1452 ワード
まず、メールがタイムアウトしたらどうなるか、ずっとブロックされているか、もしあなたがマルチスレッドグループを使っているなら、申し訳ありませんが、あなたはずっとブロックされています.解決策はありますか?あります.
まずjavamailが提供するタイムアウトに関する3つのパラメータを知っておきます.
smtp mail.smtp.connectionttimeout:接続時間制限、ミリ秒単位.メールサーバとの接続時間の長さについてです.デフォルトは無制限です. mail.smtp.timeout:メールsmtp時間制限、ミリ秒単位.これはメールの読み取り時間の長さについてです.デフォルトは無制限です. mail.smtp.writetimeout:メール送信時間制限、ミリ秒単位.メール送信時のコンテンツのアップロード時間の長さについて.デフォルトは無制限です.
このように類推して、まだ2種類あります
imap mail.imap.connectionttimeout:接続時間制限、ミリ秒単位.メールサーバとの接続時間の長さについてです.デフォルトは無制限です. mail.imap.timeout:メールsmtp時間制限、ミリ秒単位.これはメールの読み取り時間の長さについてです.デフォルトは無制限です. mail.imap.writetimeout:メール送信時間制限、ミリ秒単位.メール送信時のコンテンツのアップロード時間の長さについて.デフォルトは無制限です.
pop3 mail.pop 3.connectionttimeout:接続時間制限、ミリ秒単位.メールサーバとの接続時間の長さについてです.デフォルトは無制限です. mail.pop 3.timeout:メールsmtp時間制限、ミリ秒単位.これはメールの読み取り時間の長さについてです.デフォルトは無制限です. mail.pop 3.writetimeout:メール送信時間制限、ミリ秒単位.メール送信時のコンテンツのアップロード時間の長さについて.デフォルトは無制限です.
デフォルトの無制限を設定しないでください.そうすると、向こうのサーバーに何か問題が発生したら、こちらに複数のスレッドが詰まっています.
だから設定しなければならない.構成は簡単で、送信前と受信前の構成に時間を加えればいい.例えば
そして問題は解決しました!その他の類推
まずjavamailが提供するタイムアウトに関する3つのパラメータを知っておきます.
smtp
このように類推して、まだ2種類あります
imap
pop3
デフォルトの無制限を設定しないでください.そうすると、向こうのサーバーに何か問題が発生したら、こちらに複数のスレッドが詰まっています.
だから設定しなければならない.構成は簡単で、送信前と受信前の構成に時間を加えればいい.例えば
Properties prop = new Properties();// new,
prop.put("mail.smtp.connectiontimeout", "25000");//
prop.put("mail.smtp.timeout", "25000");//
prop.put("mail.smtp.writetimeout", "25000");//
そして問題は解決しました!その他の類推