我正在编写简单的应用程序,利用新邮箱cmdlet。设置的参数之一是主Smtp地址. 提供的Smtp地址必须有效,否则调用将失败。
我试图找到一些有效 smtp 地址的规范,但无论我在哪里查看,我都会看到不同的规则。
在哪里可以找到有效的 Smtp 地址格式的规范。
答案1
ARPA 互联网文本消息格式的标准位于此处:https://www.ietf.org/rfc/rfc0822.txt。RFC822 是该号码。
这里引用了一个片段:“注意:为了显示的目的,以及在将此类结构化信息传递到其他系统(例如邮件协议服务)时,在用句点(“。”)或 @ 符号(“@”)分隔的单词之间不得有任何线性空白。第 6 节是地址规范部分,其中包含您需要的部分。
RFC 2821 是简单邮件传输协议标准(https://www.ietf.org/rfc/rfc2821.txt)。下面摘自第 2.3.10 节和第 4.5.3.1 节。
2.3.10 邮箱和地址
在本规范中,“地址”是一个字符串,用于标识将向其发送邮件的用户或将存放邮件的位置。术语“邮箱”指该存放处。这两个术语通常可以互换使用,除非邮件存放的位置(邮箱)和对邮件的引用(地址)之间的区别很重要。地址通常由用户和域规范组成。标准邮箱命名约定定义为“本地部分@域”:当代用法允许的应用范围比简单的“用户名”要广泛得多。因此,由于中间主机试图通过修改它们来优化传输时出现的问题由来已久,本地部分必须仅由地址的域部分中指定的主机解释和分配语义。
4.5.3.1 尺寸限制和最小值
有多个对象需要最小/最大尺寸。每个实现都必须能够接收至少这些尺寸的对象。应尽可能避免使用大于这些尺寸的对象。但是,某些 Internet 邮件构造(如编码的 X.400 地址 [16])通常需要更大的对象:客户端可以尝试传输这些对象,但如果服务器无法处理这些对象,则必须做好准备以防服务器拒绝它们。应尽可能使用不限制这些对象长度的实现技术。
本地部分 用户名或其他本地部分的最大总长度为 64 个字符。 域 域名或号码的最大总长度为 255 个字符。
这些文件是规范。它们分别于 1982 年和 2001 年发布。
基本上,您需要一个没有空格的 local-part@domain。它还可以包含 RFC822 中指定的字符。
希望这可以帮助。
谢谢,蒂姆。