私のサイトでは Google アカウントでログインでき、Gmail や Google Apps から連絡先を招待することもできます。
招待されたユーザーが Google アカウントを持っているかどうかを判断しようとしています。これまでのところ、ドメインがgmailであるかどうかを確認していますが、Google アプリ アカウントの場合、ドメイン名は何でもよいため、この種の検証を実行できません。
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 アカウントです。これは信頼できますか?