2012-02-15 6 views

Respuesta

6

Si usted tiene una referencia a una instancia Session, se puede hacer lo siguiente:

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

Si el correo el cliente está conectado al servidor SMTP apropiado, generalmente significa que está activo.

3

Desde la API de JavaMail, puede intentar enviar un correo electrónico y ver si se envió con éxito.

Desde un punto de vista conectividad, sólo podía hacer ping:

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

Ok, entonces confirma que la primera solución es la única: un servidor no necesita responder para hacer ping correctamente. –

+0

@DenisR. Correcto, un servidor puede ignorar las solicitudes de eco ICMP. – Icarus

+0

No es realmente la única solución posible. Los servidores SMTP pueden ignorar las solicitudes de eco ICMP, pero no ignoran las conexiones TCP al puerto 25. –

Cuestiones relacionadas