【发布时间】:2010-12-14 20:30:28
【问题描述】:
在 Java 程序中,确定 SMTP 服务器是否准备好接受和发送电子邮件的最佳方法是什么?
【问题讨论】:
标签: java smtp jakarta-mail
在 Java 程序中,确定 SMTP 服务器是否准备好接受和发送电子邮件的最佳方法是什么?
【问题讨论】:
标签: java smtp jakarta-mail
您可以使用JavaMail API 并尝试发送电子邮件。
如果您不想真正发送电子邮件,您可以打开一个 TCP 套接字到您的邮件服务器的端口号 25 并发送以下命令:
HELO yourdomain.com
MAIL FROM: youremail@yourdomain.com
RCPT TO: recipient@recipientdomain.com
确保在发出每个命令后检查所有服务器响应。如果在那之前您没有看到任何错误,那么您可能可以使用该 SMTP 服务器发送电子邮件。
而且,正如乔丹·斯图尔特亲切地任命的那样:
您还需要确保 HELO结构域具有互补的A / PTR dns 记录对,带有 IP 域映射到的地址 您连接的 IP 地址。 该域还需要至少一个 MX 记录。 IE。如果你是服务器 连接来自 123.45.67.89 然后 你需要一个 A 记录映射 yourdomain.com 到 123.45.67.89 和一个 PTR(“反向 DNS”)记录映射 123.45.67.89 回到 yourdomain.com。如果不满足这些条件中的任何一个 你会遇到一些问题 邮件服务器检查这些 事情是反垃圾邮件措施。
【讨论】: