我的网站允许使用 Google 帐户登录,您还可以从 Gmail 或 Google Apps 邀请您的联系人。
我正在尝试确定受邀用户是否拥有谷歌帐户。到目前为止,我检查了域是否为gmail,但对于 google 应用程序帐户,我无法执行这种验证,因为域名可以是任何东西。
通过 dig 命令查找 MX(Mail Exchanger)并查看 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可以改变吗?
谢谢
编辑
到目前为止,我发现谷歌有以下按优先级排序的 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 帐户。这可靠吗?