如何从Java检查SMTP服务器的状态?

时间:2009-11-09 23:54:46

标签: java smtp javamail

在Java程序中,确定SMTP服务器是否已准备好接受并发送电子邮件的最佳方法是什么?

1 个答案:

答案 0 :(得分:4)

您可以使用JavaMail API并尝试发送电子邮件。

如果您不想实际发送电子邮件,可以打开TCP套接字到邮件服务器的端口号25并发送以下命令:

HELO yourdomain.com
MAIL FROM: youremail@yourdomain.com
RCPT TO: recipient@recipientdomain.com

确保在发出每个命令后检查所有服务器响应。如果在此之前没有看到任何错误,那么您可能可以使用该SMTP服务器发送电子邮件。

而且,正如Jordan Stewart所指定的那样:

  

您还需要确保   HELO域有一个互补的A /   PTR dns记录对,与IP   地址被映射到正在进行   您要连接的IP地址。   域还需要至少一个MX   记录。即如果你是服务器   从那时起连接是123.45.67.89   你需要一个A记录映射   yourdomain.com到123.45.67.89和a   PTR(“反向DNS”)记录映射   123.45.67.89返回yourdomain.com。如果不满足任何这些条件   你会遇到一些问题   邮件服务器作为检查这些   事情是反垃圾邮件措施。