Как проверить, что почтовый сервер жив с Java? - PullRequest
8 голосов
/ 15 февраля 2012

Есть ли способ с JavaMail API, чтобы проверить, что используемый почтовый сервер жив? Если нет, то как это сделать с кодом Java?

Заранее спасибо за помощь.

Ответы [ 2 ]

7 голосов
/ 15 февраля 2012

Если у вас есть ссылка на экземпляр Session , вы можете сделать следующее:

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

Если почтовый клиент подключен к соответствующему SMTP-серверу, это обычно означает, что он жив.

4 голосов
/ 15 февраля 2012

С помощью API JavaMail вы можете попробовать отправить электронное письмо и проверить, было ли оно отправлено успешно.

С точки зрения подключения вы можете просто пропинговать его:

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