可能重复:
确定电子邮件地址的健康/有效性
如何使用 Java 和 PHP 检查电子邮件地址是否实际存在?当用户在电子邮件字段中输入电子邮件地址时,表单的电子邮件旁边会显示它是有效的还是存在的电子邮件地址。首先它会检查它的格式是否正确'name@domain.com',其次它会检查电子邮件地址是否真实存在。
可能重复:
确定电子邮件地址的健康/有效性
如何使用 Java 和 PHP 检查电子邮件地址是否实际存在?当用户在电子邮件字段中输入电子邮件地址时,表单的电子邮件旁边会显示它是有效的还是存在的电子邮件地址。首先它会检查它的格式是否正确'name@domain.com',其次它会检查电子邮件地址是否真实存在。
即刻?不可能的。如果时间不是那么重要,您总是可以尝试直接与该域的 SMTP 服务器通信。(您知道,如何通过 dns MX 记录找到它,不是吗?)其中一些会给您一个“用户不存在”错误,而另一些则不会。其中一些会迫使您进入灰名单,因此整个过程可能需要几秒钟到 15 分钟左右......
关键是:如果你有一个好的验证码解决方案,我想担心虚假电子邮件并不是什么大问题。
你不能。您只能检查您自己的数据库以查看该电子邮件地址是否已存在用户。但是要检查它是否真实,您必须发送一封验证电子邮件并让用户单击电子邮件中的链接。这表明至少有一个人可以通过该电子邮件地址接收电子邮件。
没有简单的方法来验证地址是否存在于一次点击中。您可以使用正则表达式验证其格式是否正确,即使这比最初看起来要复杂。如果您将其设置得太严格,您会发现一些用户将无法注册。我会说最好只进行一些简单的验证以确保它具有@符号。为了实际验证它,大多数网站都会发送一封带有激活码/链接的验证电子邮件。它很简单,而且很有效,大多数用户现在都会熟悉这个过程。
同上 Simeon Visser 和 raina77ow 评论
此外,由于即将出台的新法规允许域名中包含外来字符,因此检查电子邮件地址是否格式正确的唯一方法是它有一个字符后跟 @ 后跟一个字符(目前是 3 个或更多字符)那不是一个。或一个空格,后跟一个 . 然后是一些不是空格的字符(包括 .)
所以 xxxx@xxx.xx 目前可以
但新@书.中将很快生效