email@“[email protected]” 是有效的电子邮件地址吗?

email@“[email protected]” 是有效的电子邮件地址吗?

这条评论引导我RFC 5322§3.4.1内容如下:

An addr-spec is a specific Internet identifier that contains a locally
interpreted string followed by the at-sign character ("@", ASCII value
64) followed by an Internet domain. 

The locally interpreted string is either a quoted-string or a dot-atom.

If the string can be represented as a dot-atom (that is, it contains no
characters other than atext characters or "." surrounded by atext  
characters), then the dot-atom form SHOULD be used and the quoted-  
string form SHOULD NOT be used.  Comments and folding white space   
SHOULD NOT be used around the "@" in the addr-spec.

我们可以atext看到这里

atext           =       ALPHA / DIGIT / ; Any character except controls,
                        "!" / "#" /     ;  SP, and specials.
                        "$" / "%" /     ;  Used for atoms
                        "&" / "'" /
                        "*" / "+" /
                        "-" / "/" /
                        "=" / "?" /
                        "^" / "_" /
                        "`" / "{" /
                        "|" / "}" /
                        "~"

综合所有这些,这是否意味着电子邮件地址实际上是一个有效地址,因为引号允许使用该符号?email@"[email protected]"@

答案1

不,这无效。

之后的部分@是域(“[电子邮件保护]“在您的示例中)。

您不能拥有带有符号的域名@

域名的有效字符是多少以及最长为多少?

另请查看RFC 1035 2.3.1

它们必须以字母开头,以字母或数字结尾,并且具有内部字符仅限字母、数字和连字符

更多信息:

答案2

电子邮件规则非常复杂(而且很少能完全正确遵循),因此询问电子邮件是否有效并没有特别的帮助。相反,这是一个有多少网站会接受您的电子邮件的问题。电子邮件地址越奇特,您遇到不接受它的网站的可能性就越大 -即使它是在 RFC 标准中。例如,从my.email@com技术上来说是一个有效的电子邮件,但使用它时会非常困难。

如果您是最终用户,这意味着您通常应该选择不要太有创意的电子邮件,无论您是否可以。编写违反规则的电子邮件可能会使某些网站难以使用,即使它在技术上是有效的。

如果您正在维护软件并且需要验证用户的电子邮件,最好的办法是向他或她发送一封验证电子邮件。这样,您就可以检查用户的电子邮件地址是否确实存在,而不必担心意外阻止电子邮件不符合 RFC 标准或电子邮件遵循边缘条件规则的用户。(值得使用一些常识性规则进行客户端验证以帮助用户纠正拼写错误,但您应该让用户在需要时覆盖该验证。)

这个问题StackOverflow 上的一篇文章很好地讨论了这些问题。本网站让您检查电子邮件是否有效。页面上的第二条评论给出了一个示例,某人有一个有效的电子邮件地址,但由于其非常不寻常而难以使用。


回答你最初的问题:不,这不是一个有效的电子邮件地址。即使它是,我还是建议不要使用它,如果用户声称这是他的电子邮件,你无论如何都应该向他发送一封验证电子邮件。email@"[email protected]"

相关内容