在Java程序中,确定SMTP服务器是否已准备好接受并发送电子邮件的最佳方法是什么?
答案 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。如果不满足任何这些条件 你会遇到一些问题 邮件服务器作为检查这些 事情是反垃圾邮件措施。