问题
Is there a way with JavaMail API to check that the mail server used is alive ? If not, how do to it with Java code ?
Thanks by advance for your help.
回答1:
If you've got a reference to a Session instance, you could do the following:
Session s = //a JavaMail session I got from somewhere
boolean isConnected = s.getTransport("smtp").isConnected();
If the mail client is connected to the appropriate SMTP server, it usually means it's alive.
回答2:
From the JavaMail API, you could try sending an email and seeing if it was sent successfully.
From a connectivity standpoint, you could just ping it:
InetAddress host = InetAddress.getByName("mailserver");
System.out.println("host.isReachable(1000) = " + host.isReachable(1000));
来源:https://stackoverflow.com/questions/9294968/how-to-test-that-the-mail-server-is-alive-with-java