如何用Java测试邮件服务器是否还活着?

Den*_* R. 8 java jakarta-mail

有没有办法使用JavaMail API来检查所使用的邮件服务器是否存活?如果没有,Java代码怎么做?

谢谢你的帮助.

Sea*_*lly 7

如果您有对Session实例的引用,则可以执行以下操作:

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

如果邮件客户端连接到相应的SMTP服务器,通常意味着它处于活动状态.

  • 如果您刚刚创建了一个新会话并想要调用`isConnected()`,最初,您必须调用方法`getTransport("smtp").connect()`。 (2认同)

Ica*_*rus 5

从JavaMail API,您可以尝试发送电子邮件,并查看是否已成功发送。

从连接性的角度来看,您可以ping它:

  InetAddress host = InetAddress.getByName("mailserver");
  System.out.println("host.isReachable(1000) = " + host.isReachable(1000));
Run Code Online (Sandbox Code Playgroud)