我并不是在询问完整的电子邮件验证。

我只想知道电子邮件地址的用户名和服务器部分允许使用哪些字符。这可能过于简单化,也许电子邮件地址可以采取其他形式,但我不在乎。我只问这个简单的表格:user-name@server(例如。wild.wezyr@best-server-ever.com)以及两部分中允许的字符。


当前回答

这件事读得很好。

摘录:

These are all valid email addresses!

"Abc\@def"@example.com
"Fred Bloggs"@example.com
"Joe\\Blow"@example.com
"Abc@def"@example.com
customer/department=shipping@example.com
\$A12345@example.com
!def!xyz%abc@example.com
_somename@example.com

其他回答

您可以从维基百科文章开始:

大写和小写英文字母(a-z,a-z)数字0至9字符!#$%&'*+-/=?^ _ `{ | } ~性格(点、句号、句号),前提是它不是第一个或最后一个字符,并且不连续出现两次或多次。

检查@和。然后发送电子邮件让他们验证。

我仍然不能在互联网上20%的网站上使用我的.name电子邮件地址,因为有人搞砸了他们的电子邮件验证,或者因为它早于新地址的有效期。

Gmail只允许+符号作为特殊字符,在某些情况下(.),但Gmail不允许任何其他特殊字符。RFC说你可以使用特殊字符,但你应该避免用特殊字符向Gmail发送邮件。

维基百科对此有一篇很好的文章,官方规范在这里。来自Wikipdia:

电子邮件地址的本地部分可以使用以下任意ASCII字符:大写和小写英文字母(a-z,a-z)数字0至9字符!#$%&'*+-/=?^ _ `{ | } ~性格(点、句号、句号),前提是它不是第一个或最后一个字符,并且不连续出现两次或多次。此外,允许使用带引号的字符串(例如:“John Doe”@example.com),因此允许使用否则将被禁止的字符,但这些字符通常不会出现。RFC 5321还警告“希望接收邮件的主机应避免定义本地部分需要(或使用)引号字符串格式的邮箱”。

简单的答案是有两个答案。你应该做什么有一个标准。对于你应该接受而不制造麻烦的行为,还有一个(更广泛的)标准。这种双重性适用于发送和接收电子邮件,但在生活中有着广泛的应用。

为您创建的地址提供良好的指南;参见:https://www.jochentopf.com/email/chars.html

要过滤有效的电子邮件,只需传递任何足以理解的信息,以查看下一步。或者开始阅读一堆RFC,小心,这里有龙。