2012-06-29 47 views
1

可能重复:
Determining the health/validity of an email addressJava PHP如何检查电子邮件地址是否立即存在?

如何检查电子邮件地址是否真实存在使用Java和PHP?当用户在电子邮件字段中输入电子邮件地址时,在表单的电子邮件旁边将显示其是否有效或存在的电子邮件地址。首先它会检查它是否使用正确的格式'[email protected]',其次它会检查电子邮件地址是否真实存在。

+0

你会对[这个问题]的答案感兴趣(http://stackoverflow.com/questions/504631/determining-the-health-validity-of-an-email-address?rq=1)。 – Carsten

回答

1

你不能。您只能检查自己的数据库,以查看用户是否已经存在该电子邮件地址。但要检查它是否真实,您必须发送验证电子邮件并让用户点击电子邮件中的链接。这表明至少有一个人可以收到该电子邮件地址的电子邮件。

1

立即?不可能。如果时间不是重要,您可以随时尝试直接与该域的SMTP服务器进行通信。 (你知道,如何通过dns MX记录找到它,不是吗?)其中一些会给你一个'用户不存在'的错误,其中一些不会。其中一些会迫使你进入灰名单,所以整个过程可能需要几秒到15分钟左右......

问题是:如果你有一个好的验证码解决方案,担心假电子邮件不是我猜的很多问题。

0

同上的西面维瑟和raina77ow评论

此外,由于新规出来不久,允许在域名中外文字符,检查的电子邮件地址是正确的格式的唯一方法是,它有一个字符后跟@,后面跟一个不是a的字符(现在是3个或更多字符)。或一个空格,然后是一个空格。然后一些更多的字符不属于空间(包括一个)。

所以[email protected]是确定目前

但新@书。中才有效SOON

+0

显然我有点落后于时代http://en.wikipedia.org/wiki/Internationalized_domain_name – Waygood

0

没有简单的方法来验证地址存在于一次命中。你可以使用正则表达式来验证它的正确形式,即使这比第一次看起来更棘手。如果你限制太多,你会发现一些用户将无法注册。我会说最好只是进行一些简单的验证以确保它有@符号。 为了实际验证,大多数网站都会发送带有激活码/链接的验证电子邮件。这很简单,它的工作原理和大多数用户现在都熟悉这个过程。

相关问题