谷歌邮件支持的电子邮件地址是否有明确的测试方法?

4
我们有一个注册流程,同时我们也支持通过Google登录。注册流程会要求输入密码,但如果您的电子邮件地址由Gmail管理,则无需麻烦您再想出一个单独的密码,因为您可以通过Google的OpenID / OAuth2进行登录。
所以我想知道是否有任何快速且简便的方法来检查电子邮件地址,以确认该地址是由Gmail管理的。
假阴性结果可以接受,但假阳性结果是完全不可接受的。
显然,“它是否为@gmail.com”测试是有效的,但我希望有一些具有更低假阴性率的方法。
我的下一个想法是检查DNS中的MX记录,看看是否为Google Mail MX记录...但这能证明该帐户是由Google管理吗?
还是有其他人提供的测试方法?

你能展示一个以 @gmail.com 结尾的假负地址的例子吗? - Nir Alfasi
对于以“@gmail.com”结尾的地址,不存在误报阳性,因为它们全部都是由Gmail管理的。而任何以“@one-dash.com”结尾的地址都是由Gmail管理的(我的域名正在使用Google应用程序),但“地址是否以@ gmail.com结尾”的测试会认为它们没有由Gmail管理,这就是“地址是否以@ gmail.com结尾”的测试的误报阴性。 - Stephen Connolly
@alfasin,我觉得你可能搞错了。我的电子邮件地址并不以'@gmail.com'结尾,但它是由GMail托管的,因此如果使用'@gmail.com'的测试,会导致错误的结果(即错误地推断我没有GMail邮箱)。 - Bill Michell
哦,现在清楚了。谢谢。 - Nir Alfasi
1个回答

2

查询SMTP服务器,打开与SMTP服务器的连接,开始发送邮件,如果您没有收到550(用户不存在)则取消SMTP会话并退出。

希望这可以帮助您!


顺便提一下,如果用户存在,服务器将会响应250而不是550。 - Alberto Ponte
1
如果我们有很多这样的行为,那么这种行为会导致我被禁止或列入黑名单吗? - Stephen Connolly
只是好奇 - 你每天大约要处理多少个?了解SMTP服务器非常快,这种类型的交易根本不会“负担”服务器。 - Alberto Ponte
1
SMTP协议提供VRFY命令,用于验证电子邮件地址是否由服务器提供;因此,我认为可以安全地推断这是一笔可接受的交易。此外,可以在SMTP服务器上禁用VRFY命令。只是提供给你的信息,以防你不知道。 - Alberto Ponte
我猜我只能在域名的 DNS MX 记录包含 ASPMX.L.GOOGLE.COM 或任何 其他 Google MX 记录 的地址上运行 VRFY 检查。这将通过过滤明显不匹配的内容,减少被黑名单列出的可能性。在此基础上接受这个答案。 - Stephen Connolly
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接