2010-05-05 18 views
5

SMTP sunucusuna e-posta istekleri göndermek için JavaMail kullanıyorum.Java Posta zaman aşımı ve bağlantı noktası işlemeyi gerçekleştirme

benim kodu içinde hem "mail.smtp.connectiontimeout" ve "mail.smtp.timeout" özellikleri ayarlamak istiyoruz.

Programlı, ben yakalamak istiyorum hem zaman aşımı ve/veya ConnectionTimeout işlemleri Java ulaştı ve buna göre şeyleri ele zaman. Bu anlamda ele alındığında, bir dahaki sefere aynı e-postayı tekrar denemem gerek.

Bunu Java/JavaMail'de nasıl kullanırım? Bu zaman aşımı işlemleri için & yakalamak mümkün mü?

DÜZENLEME

Ayrıca, varsayarak kendi başıma zaman aşımı işlemi yeniden/simüle etmek mümkündür Ben ettik SMTP sunucusuna tam yönetim erişimi?

cevap

4

ikinci sorusunu yanıtlayan: Test makinesinde sadece iptables ile SMTP sunucusuna giden tüm bağlantıları BIRAKMA:

iptables -I OUTPUT 1 -p tcp -s 192.168.1.20 --dport 25 -j DROP 

bir tepkisiz SMTP sunucusuna benziyor Bu şekilde ve size özel durum işleme test edebilirsiniz.

+0

Bu simülasyon adımları için teşekkürler. Bunu deneyeceğim. – Gnanam

1

Tümü:

başıma yaşadıktan sonra, soruma cevap muyum.

Bunu Java/JavaMail'de nasıl kullanırım? & bu zaman aşımı işlemlerini gerçekleştirmek mümkün mü?

Evet, kendiliğinden javax.mail.MessagingException olarak atılmasıdır.

javax.mail.MessagingException: Exception reading response; 
    nested exception is: 
     java.net.SocketTimeoutException: Read timed out 
     at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1462) 
     at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1260) 
     at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370) 
     at javax.mail.Service.connect(Service.java:297) 
     at javax.mail.Service.connect(Service.java:156) 
     at javax.mail.Service.connect(Service.java:105) 

Bu istisna bu satırda tam olarak atılır:

Transport.connect();

Şimdi ettik Sadece açık soru "mümkün/simüle ben SMTP sunucusuna tam yönetim bıraktık varsayarak başıma zaman aşımı işlemi çoğaltmak mı?" dir

Herhangi bir fikir gelen uzmanlar?

İlgili konular