我正在创建一个函数,使用谷歌的API从一个人的gmail帐户导入联系人。然而,我意识到许多企业注册谷歌是为了有一个更专业的域名(例如。some_name@bislr.com),但仍然属于Gmail。
有办法检查吗?
选项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.
任何人托管他们的电子邮件谷歌应用程序将有MX记录非常类似这些。您可以使用任何常见的DNS机制进行MX查找,并测试Google最推荐的邮件服务器(aspmx.l.google.com, alt1.aspmx.l.google.com和alt2.aspmx.l.google.com)的MX记录,或者查找此列表中的任何/所有服务器。
这不会显示任何使用外部转发/过滤服务的人,但它将适用于所有常见情况。
选项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列入黑名单,就应该可以工作。
这是一个完整的过程演练。
你不能确定。
@lunixbochs描述的MX记录检查涵盖了大多数情况,但许多公司将使用具有不同域名的Postini。他们也可能使用任何数量的其他邮件预处理引擎来隐藏aspmx记录。
另一种检查方法是查看他们是否有一个活跃的域名:
curl http://www.google.com/a/DOMAINNAME | grep "未使用Google Apps的域名"