2012-02-15 11 views

risposta

6

Se hai un riferimento a un'istanza di Session, si potrebbe procedere come segue:

Session s = //a JavaMail session I got from somewhere 
boolean isConnected = s.getTransport("smtp").isConnected(); 

Se la posta il client è connesso al server SMTP appropriato, di solito significa che è vivo.

3

Dall'API JavaMail, è possibile provare a inviare un'email e vedere se è stata inviata correttamente.

Dal punto di vista della connettività, si può solo rumore metallico:

InetAddress host = InetAddress.getByName("mailserver"); 
    System.out.println("host.isReachable(1000) = " + host.isReachable(1000)); 
+0

Ok, quindi confermi che la prima soluzione è l'unica: un server non ha bisogno di rispondere al ping per funzionare correttamente. –

+0

@DenisR. Esatto, un server potrebbe ignorare le richieste echo ICMP. – Icarus

+0

Non è davvero l'unica soluzione possibile. I server SMTP potrebbero ignorare le richieste echo ICMP, ma non ignorano le connessioni TCP alla porta 25. –

Problemi correlati