java - 在 Google Apps 帐户上查找 MX 的可靠性

标签 java email mx-record

我的网站允许使用 Google 帐户登录,您还可以通过 Gmail 或 Google Apps 邀请您的联系人。

我正在尝试确定受邀用户是否有 Google 帐户。到目前为止,我检查域名是否为 gmail,但对于 google apps 帐户,我无法执行此类验证,因为域名可以是任何内容。

通过dig命令查找MX(邮件交换器)并查看MX是否是google服务器可靠吗?

我可以像这样在 Java 中执行此验证

Record[] records = new Lookup("example.com", Type.MX).run();
    for (int i = 0; i < records.length; i++) {
        MXRecord mx = (MXRecord) records[i];
        System.out.println("Host " + mx.getTarget() + " has preference "
                + mx.getPriority());
        if (mx.getTarget().toString().toLowerCase().endsWith("google.com.")
                || mx.getTarget().toString().toLowerCase().endsWith("googlemail.com.")) {
            System.out.println("is google!!!");
        }
    }

这个方法(查询域名的MX)可靠吗?这个 MX 会改变吗?

谢谢

编辑

到目前为止我发现google有以下按优先级排序的MX

  • 0 aspmx.l.google.com。
  • 10 alt1.aspmx.l.google.com。
  • 20 alt2.aspmx.l.google.com。
  • 30 alt3.aspmx.l.google.com。
  • 40 alt4.aspmx.l.google.com。
  • 50 aspmx2.googlemail.com。
  • 60 aspmx3.googlemail.com。
  • 70 aspmx4.googlemail.com。
  • 80 aspmx5.googlemail.com。

因此,从我的角度来看,可以肯定地说,如果 MX 以 google.com.googlemail.com. 结尾,那么它就是一个 Google Apps 帐户。这可靠吗?

最佳答案

可能改变,但可能性很小,因为 Google 不会从中获得任何好处。

我不是 Google 员工,因此无法给出有保证的答案,但我对情况的理解如下:

  1. Google 不会要求现有客户更改其 MX 记录,因为这会给客户带来额外的麻烦,对 Google 没有任何好处,而且只会降低公司选择它们的可能性。

  2. Google 总是可以开始要求新客户使用指向非 Google 顶级域的 MX 记录,但他们可能不会。 Google 似乎热衷于从 google.com 子域提供尽可能多的服务。 (事实上​​,正确屏蔽某些类型的 Google 广告和 API 是一件很痛苦的事情,因为它们是由用于 Google 搜索等内容的同一个 www.google.com 子域提供的。)

  3. 最坏的情况是,您会得到漏报。即使不是“全部”,“一些”仍然比“无”好。

关于java - 在 Google Apps 帐户上查找 MX 的可靠性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12010310/

相关文章:

email - SPF/DKIM "auto authentication"如何在邮件黑猩猩上工作?

c# - 使用 C# 查找 MX 记录?

java - 使用无状态 session 批量插入/更新 - Hibernate

java - 自动记录新 Java 类的创建时间

java - org.apache.openejb.server.cxf.rs.PojoInvoker 抛出 invokingTargetException

java - settHeader ("content type"、 "") - 困惑

php - 使用 PHP 向 Hotmail 发送电子邮件时的编码问题

sockets - Yahoo 和 Hotmail 不会回复 HELO/EHLO 到我的 SMTP 服务器

sendmail - 我可以将 Google Apps 用于域电子邮件,同时仍使用 "sendmail"服务器发送电子邮件吗?

email - 关于 MX 记录的困惑