当人们注册到我的网站时,我不想向他们发送验证电子邮件,我只想检查该电子邮件是否存在。有没有办法做这样的事情?
使用 apache-tomcat 和 java 作为我的主要编程语言。
多谢!
当人们注册到我的网站时,我不想向他们发送验证电子邮件,我只想检查该电子邮件是否存在。有没有办法做这样的事情?
使用 apache-tomcat 和 java 作为我的主要编程语言。
多谢!
不可以。无法判断电子邮件地址是否指向有效目的地。您可以检查基本语法,并且该域在 DNS 中有记录,仅此而已。
与一些未受过教育的答案相反,您可以尝试连接到 MX 服务器并使用 VRFY 命令查看服务器是否支持它。这是一个网站,它将为您做这件事作为示例。如果您查看它与 MX 服务器的交换,它实际上会尝试发送电子邮件,但在实际发送之前会执行 RESET。用我的电子邮件地址测试它有效,但我没有收到电子邮件。所以是的,你可以做其他人说你不能做的事情。使用您知道适用于您的域的地址,然后使用您不支持的地址。您将在最后一个 RCTP TO 命令上获得 550。这就是你知道它不存在的方式。
我只是想权衡一下,尽管您不愿意这样做,请发送一封电子邮件并强制用户确认他们可以控制它,然后才允许将该电子邮件地址与您网站上的帐户相关联。为什么?因为不这样做,出于任何原因,意味着用户可以使用不属于他们的电子邮件地址注册帐户。他们可能这样做是偶然的,或者他们可能是故意这样做的(例如,出于各种原因为他人注册帐户);这只是不洁净,允许它的网站可以向其 ISP 报告。
(我这样说是作为 Gmail 帐户的所有者,该帐户每月至少注册 2 到 3 次,在某些网站上注册一个帐户,该帐户不会强迫用户以这种方式确认他们的电子邮件地址。这很烦人,而且它让我有责任从有问题的网站上删除该帐户。我现在已经开始尽我所能恢复任何密码,登录该帐户,然后将电子邮件地址更改为“UNKNOWN@gmail.com”或类似的东西那个......这很有趣,但我怀疑你是否希望这发生在你的网站上。)
这已经在前面的问题中得到了回答。如果没有验证电子邮件,您能做的最好的事情就是查看电子邮件地址,看看它是否有效。您还可以检查诸如域之类的内容,以查看它是否存在并具有 MX 记录。无论如何,请参阅https://stackoverflow.com/questions/3232/how-far-should-one-take-e-mail-address-validation和使用正则表达式验证电子邮件地址
如果您只是想验证它看起来像一个有效的电子邮件地址,那么有许多示例正则表达式可以验证这一点。如果您想验证用户对电子邮件地址的控制权,您需要向它发送一些内容并制作一个独特的响应来验证它。
您可以像 stackoverflow 一样使用 openid 服务来检查有效的电子邮件地址。
电子邮件验证服务在验证电子邮件地址方面非常有帮助。他们中的大多数执行 6 个级别的验证,如语法验证、域 MX 记录检查、基于角色的帐户检测、一次性电子邮件地址 (DEA) 检测、HoneyPot/垃圾邮件跟踪检测和深度 SMTP 验证。
他们中的大多数都提供 API 集成,因此,您可以直接从您的应用程序验证电子邮件地址。