邮件地址域名是否必须包含点?关于System.Net.Mail.MailAddress的语法疑问
域名"bar"属于合法的邮箱地址语法吗?
答案是肯定的。
邮件地址的语法规范(比如RFC 5321和RFC 5322)并没有强制要求域名部分必须包含点号。域名部分可以是一个单一的"标签"(label),也就是像"bar"这样的字符串,只要它符合域名的字符规则(比如只包含字母、数字、连字符,且不以连字符开头/结尾),就属于合法的邮箱地址结构。
System.Net.Mail.MailAddress类的实现是遵循这些标准的,所以当你传入foo@bar时,它不会抛出异常——因为从语法层面来说,这个地址完全合规。
当然,在实际的互联网环境中,不带点的域名确实很少见,绝大多数公共邮件服务提供商使用的都是带有层级的域名(比如example.com),但这只是实践中的惯例,而非语法上的强制要求。
内容的提问来源于stack exchange,提问作者Matthew MacFarland
相关产品推荐
相关产品推荐

