【问题标题】:Email Validation using MX使用 MX 进行电子邮件验证
【发布时间】:2011-05-11 17:06:07
【问题描述】:

需要实施电子邮件验证以查找电子邮件是否真的存在。经过一番搜索后发现,由于使用了垃圾邮件控制技术(例如灰名单),这是不可能的。

所以移动了 MX 和 A 属性检查(因为我们不允许直接发送确认邮件):

DirContext ictx = new InitialDirContext(); Attributes attrs = ictx.getAttributes("gmail.com", new String[] {"MX"});

我得到了结果,但不确定这里的 dns 查找是如何工作的(请求和响应的完整背景,即请求如何转发到邮件交换服务器以及用于联系邮件交换服务器的端口)

这将极大地帮助我们进入生产环境,而无需对网络行为产生任何疑问,因为我们有严格的防火墙限制。

生产环境:Solaris OS 上的 Weblogic 服务器。

类似的讨论在Email validation MX Lookup,但没有足够的细节

【问题讨论】:

    标签: email dns jndi email-validation mx-record


    【解决方案1】:

    听起来您混淆了两种不同的技术:

    1) 执行 DNS 查找以确保域的 MX 记录存在。这将消除虚假(即未注册)域中的所有电子邮件地址。但是请注意,拥有 MX 记录并不是合法邮件接收的必要条件。在没有 MX 记录的情况下,邮件软件将简单地使用 A 记录作为基域。

    2) 与收件人邮件服务器建立 TCP 连接,查看是否有任何东西在监听。这始终是端口 25。您不必发送测试消息,只需连接到该端口,然后立即断开连接即可。成功的连接意味着有效的电子邮件地址。 (或者至少是一个有效的域,这是您可以验证的。)

    【讨论】:

    • Alex,我很清楚你提到的第 2 点,我已经尝试过,适用于大多数电子邮件提供商(gmail、hotmail 等),但对其他人却失败了......但我想了解第 1 点的工作原理,即 DNS 查找的工作原理
    • 你在问,为什么测试有效的理论是什么?或者如何以您选择的语言实际执行测试?
    • 测试如何工作???我知道联系了 dns 服务器以获取结果.. 但是我们的 QA enviornmnet 中有严格的防火墙限制,但我仍然可以对 MX 记录进行 DNS 查找.. 所以基本上 DNS 查找是如何进行的......
    • 谢谢亚历克斯...但正如我所说,我已经测试了 mx 验证以及类似于您建议的站点的部分信封...但是我对 dns 查找方式存在理论上的疑问发生...为什么防火墙限制联系 mx 服务器而不是 dns 在 mx 上查找?所以我缺少 dns 查找的细粒度部分...请注意,dns 查找和联系 mx 在我的家中都可以正常工作...
    猜你喜欢
    • 2010-12-12
    • 2017-11-19
    • 2011-01-31
    • 2014-03-05
    • 1970-01-01
    • 2023-03-21
    • 2016-06-26
    相关资源
    最近更新 更多