如何检查电子邮件地址是否属于Gmail

时间:2011-10-13 07:14:52

标签: gmail contacts google-api

我正在创建一个功能,使用Google的API从个人的Gmail帐户导入联系人。但是我知道很多企业都会注册Google以获得更专业的域名(例如some_name@bislr.com),但仍然属于Gmail。

有没有办法检查?

2 个答案:

答案 0 :(得分:3)

选项1

如果您在bislr.com上对MX记录进行DNS查找,则会收到以下信息:

$ host -t mx bislr.com
bislr.com mail is handled by 10 aspmx.l.google.com.
bislr.com mail is handled by 20 alt1.aspmx.l.google.com.
bislr.com mail is handled by 20 alt2.aspmx.l.google.com.
bislr.com mail is handled by 30 aspmx2.googlemail.com.
bislr.com mail is handled by 30 aspmx3.googlemail.com.
bislr.com mail is handled by 30 aspmx4.googlemail.com.
bislr.com mail is handled by 30 aspmx5.googlemail.com.

任何托管其电子邮件的人都会将Google Apps与这些MX记录非常相似。您可以使用任何常见的DNS机制执行MX查找,并测试Google推荐的最常用邮件服务器的MX记录 - aspmx.l.google.com,alt1.aspmx.l.google.com和alt2.aspmx.l.google .com,或查找此列表中的任何/所有服务器。

这不会向您显示使用外部转发/过滤服务的任何人,但它适用于所有常见情况。

选项2

您可以连接到邮件服务器以验证它是否接受邮件到特定地址。使用此功能,我们可以连接到asmpx.l.google.com并询问其地址是否为有效的Google Mail帐户。

如果你连接到aspmx.l.google.com:25并发送此字符串(根据需要替换电子邮件地址):

HELO
MAIL FROM:<ping@mydomain.com>
RCPT TO:<user@theirdomain.com>

Google的邮件服务器将使用smtp状态代码进行响应,如果它是有效地址,则可能是250 2.1.5 OK之类的行。这是一种比简单地检查DNS记录更清晰,更可靠的方式,并且只要您没有通过使用它将实际垃圾邮件发送到gmail而将检查IP列入黑名单,就应该有效。

Here is a full walkthrough of the process.

答案 1 :(得分:2)

你无法确定。

@lunixbochs描述的MX记录检查涵盖了大多数情况,但许多公司将使用具有不同域名的Postini。他们也可能使用任意数量的其他邮件预处理引擎来隐藏aspmx记录。

另一种检查方法是查看他们是否有活动的域名:

curl http://www.google.com/a/DOMAINNAME | grep“未使用Google Apps的域名”

使用您选择的语言/库而不是curl来获取网址...