如您所知,电子邮件地址中可以使用很多字符。现在人们在他们的电子邮件地址中拆分一些关键字以提高可读性,例如:
name.surname@gmail.com
x-com.shop.support@stuff.net
但是,使用 Gmail 时的点字符.
(以及大写字母)只会提高可读性,不会将其作为电子邮件地址的一部分考虑在内。因此,我们可以说:
name.surname@gmail.com
是相同的namesurname@gmail.com
x-com.shop.support@stuff.net
是相同的 x-comshopsupport@stuff.net
问题
大多数网站使用数据库驱动的身份验证。假设我注册了一封电子邮件(不带点)namesurname@gmail.com
,那么这样的 MySQL 查询将不起作用,因为字符串不同:
SELECT * FROM users WHERE email = "name.surname@gmail.com" ;
问题
有什么办法可以解决这类问题吗?事实上,不同的电子邮件服务器使用不同的规则。那么用户是否必须始终记住,他们在哪个网站上使用了点或大写字母,即使那个电子邮件地址仍然相同?
更新
想象一下某个服务,您可以使用同一个电子邮件创建大量帐户。原始电子邮件是namesurname@gmail.com
,别名:
name.surname@gmail.com
n.amesur.name@gmail.com
nam.esurname@gmail.com
您仍然会在同一地址收到电子邮件确认。听起来很奇怪吧?