需要实施电子邮件验证以查找电子邮件是否确实存在。经过一些搜索后发现,由于使用了垃圾邮件控制技术(例如灰名单),这是不可能的。
因此移动MX和A属性检查(因为我们不允许直接发送确认邮件):
DirContext ictx = new InitialDirContext();
Attributes attrs = ictx.getAttributes("gmail.com",
new String[] {"MX"});
我得到了结果,但不确定dns查找在这里是如何工作的(请求和响应的完整背景,即请求如何转发到邮件交换服务器以及用于联系Mail Exchange服务器的端口) )
这将极大地帮助我们进入生产环境而不会对网络行为产生任何疑虑,因为我们正在严格限制防火墙。
生产环境:Solaris OS上的Weblogic Server。
类似的讨论是Email validation MX Lookup,但它没有足够的细节
答案 0 :(得分:1)
听起来你混淆了两种不同的技术:
1)执行DNS查找以确保域存在MX记录。这将消除假(即未注册)域中的所有电子邮件地址。但请注意,拥有MX记录不是合法邮件接收的要求。如果没有MX记录,邮件软件将只使用基本域的A记录。
2)与收件人邮件服务器建立TCP连接,以查看是否有任何内容正在侦听。这始终是端口25.您不必发送测试消息,只需连接到端口然后立即断开连接即可。成功连接意味着有效的电子邮件地址。 (或者至少是一个有效的域,这是你可以验证的。)