如果电子邮件在电子邮件的本地部分末尾有一个破折号 (-),它是一个有效的电子邮件吗?例如,
an.unusual.email-@mydomain.com
或者概括地说,这些字符 ( Characters !#$%&'*+-/=?^_``{|}~ (ASCII: 33, 35-39, 42, 43, 45, 47, 61, 63, 94-96, 123-126)) 中的任何一个都可以在电子邮件 ID 的开头和/或结尾处出现在电子邮件的本地部分吗?
谷歌说它是无效的,所以暂时我也认为它是无效的,尽管 RFC 只排除了 [dot] 字符从本地部分开始和/或结束。
注意:我不关心域部分,因为 DNS 的方式使问题和答案变得复杂,这会变得更加复杂。
use*_*686 60
如果电子邮件在电子邮件的本地部分末尾有一个破折号 (-),它是一个有效的电子邮件吗?[...] 谷歌说它是无效的,所以暂时我也认为它是无效的,尽管 RFC 只排除了 [dot] 字符从本地部分开始和/或结束。
这是有效的。你只会看到它被谷歌拒绝,因为它执行了完全不同的检查——他们有自己的关于本地部分可以是什么的政策,许多其他供应商也是如此。
仅当表单实际上要求提供现有的有效电子邮件地址(可能来自提供商)时,Google 或其他任何人才有义务接受所有可能有效的电子邮件地址。例如,如果 Gmail 的收件人:/抄送:字段拒绝了有效地址,则会出错。
但是您突出显示的字段不会要求您提供现有的电子邮件地址;它要求提供Google 系统上的帐户名称,只有在创建帐户后,该名称才会作为电子邮件地址的基础。没有什么可以禁止 Google 或其他任何人在他们自己的系统上限制一组有效的帐户名称(或者,实际上,甚至是邮箱名称)。
或者,换句话说,为“本地部分”定义允许的字符仅意味着邮件应用程序 SMTP 服务器必须接受 RFC 822 标头和 SMTP 命令中的此类地址——但它并没有说明能够创建此类邮箱。(确实,在编写早期电子邮件 RFC 并且大多数邮箱仍与操作系统级帐户相关联时,它们的名称具有相似甚至更严格的限制。)
例如,RFC 5321 的这一部分(ABNF 下方的第 4.1.2 节)明确表示允许接收主机并且确实应该对其自己的邮箱命名方式有更严格的限制:
虽然上面对本地部分的定义相对宽松,但为了最大的互操作性,希望接收邮件的主机应该避免定义本地部分需要(或使用)引号形式的邮箱或本地部分是 case -敏感的。
因此,尽管anunusualemail-@gmail.com 在语法上是有效的,但这并不意味着 Google 必须允许您创建它。