Jan*_*uet 26 email ordering protocol
发送电子邮件时,发送/接收协议中是否有任何内容可以保证或应该保证接收电子邮件的任何人都会以与发件人相同的顺序看到To
和字段中的收件人列表Cc
输入它们?这是一个非常简单和基本的问题,确实如此,但似乎不可能在谷歌上找到答案,它只是想向我讲授你应该抄送老板的顺序的工作场所礼仪。
这个老问题提到,同一封电子邮件可以在不同的客户端上以不同的顺序显示收件人,这可能表明各种电子邮件协议中没有任何内容可以保证在任何地方都保持原始顺序(因此, \xe2\x80\x99 你 CC 老板的顺序并不重要,因为你可以 \xe2\x80\x99t 控制他们看到的顺序) \xe2\x80\x93\xc2\xa0 或者它可能只是一个软件错误在电子邮件客户端中。
\n那么实际的协议和标准是怎么说的(请用相当人性化的术语)?邮件客户端是否可以自由地按照他们喜欢的任何顺序显示收件人(以及抄送收件人),或者他们是否应该将发件人输入的顺序视为法律并遵守?
\n\xc2\xa0
\n\xc2\xa0
\n正如 Tonny 和 R.. Github 在他们的回答中指出的那样,实际的 SMTP 协议当然只是传输信息的 \xe2\x80\x93\xc2\xa0a 协议。因此,它并不真正关心它传输的数据内容,就像 HTTP 不关心它传输的 HTML 内容一样。因此,实际协议本身是否能保证任何事情的答案显然是否定的。
\n在 HTTP 和 HTML 并行的情况下,整个传输还有另一层,与 HTTP 协议本身分开:规定用户代理(= 浏览器)必须如何向用户呈现实际内容的 W3C 标准;不符合这些要求的用户代理是不合规的。然而,即使在这些标准中,有些事情也完全由用户决定,并且不能保证特定的内容以特定的方式呈现。
\n当提到上面的 \xe2\x80\x98protocols\xe2\x80\x99 时,我的目的是还包括像这些 \xe2\x80\x93 这样的标准,任何控制发件人点击 \xe2\x80\x98Send\xe2\ 之间发生的事情的标准x80\x99 在他们的 MUA 中,收件人在他们的 MUA 中看到电子邮件。
\n任何接触过 HTML 电子邮件的人都知道,电子邮件正文内容显然不存在这样的标准(或者即使存在,也会被 MUA 完全蔑视)。但收件人不是消息实际正文的一部分,因此它们向用户的呈现很可能受到完全不同的标准的控制。
\n因此,除了实际的 SMTP 协议本身之外,我真正想知道的是是否存在任何标准/规定来管理 MUA 如何处理和向用户呈现收件人。那是:
\nTo:
和字段中显示的内容?CC:
R..*_*ICE 29
是的,除非参与交付的某些方做了可疑的事情。
电子邮件中的标头字段的原始内容来自于发件人的MUA(邮件用户代理,即邮件软件)。从技术上讲,处理邮件的中间系统可以修改它们,但这如果不违反正式协议标准,也是违反预期的,而且,如果涉及 DKIM,则可以在发送站点的邮件系统使用邮件头对标头进行签名之后的任何阶段进行此操作。 DKIM 密钥会使签名不匹配。通常,处理邮件转发的中间系统会将标头( 、DKIM 签名、垃圾邮件可能性分数等)添加Received:
到邮件中,而不是修改现有标头。
请注意,电子邮件中的To:
和标头仅供参考;Cc:
它们不属于将邮件递送至正确方的机制的一部分。相反,当您的 MUA 通过 SMTP 将邮件提交到邮件提供商的提交端口时,命令会RCPT TO
指定邮件应发送到的地址。MUA 通常从标头中派生出这些标头,但并非必须如此(在 的情况下Bcc:
,它们所派生的标头在发送之前已被剥离)。
为了解决问题的更新:我不知道有任何“法律”规定 MUA 必须做什么,即使有,许多流行的现有法律在多大程度上违反了正常期望/礼节(例如,隐藏电子邮件地址)并且只显示未经验证的名称、严重回流的文本等)让我说你无论如何都不能相信他们会遵循这样的“法律”。如果您想知道特定发件人的 MUA 是否可能对收件人进行了与发件人编写/选择的方式不同的排序,或者特定收件人的 MUA 是否可能以与邮件中的顺序不同的方式呈现收件人,您确实需要知道具体是什么他们正在使用的软件并检查该软件的行为。
就其价值而言,我不记得曾经见过这样的重新排序,但我只使用/观察过所有 MUA 中的极少数,因此可能有些人会这样重新排序。
我学习 SMTP 协议规范已经有几年了,但据我所知,其中没有任何内容规定维护该顺序。
据我所知,SMTP 协议仅规定了消息格式以及该格式中的必填字段和可选字段。它确实对强制字段的发送顺序提供了一些指导,但对于具有多个值的字段(如收件人),它仅说明了这些字段应如何格式化。它并没有说该字段中多个值的顺序很重要或应该保留。
任何接收和转发电子邮件的邮件服务器/中继都可以在以任何它喜欢的格式发送之前临时存储该电子邮件,并在进一步传输时根据需要重建 SMTP 消息。
如果它对收件人列表进行任何排序,则可能会更改顺序。发送和接收邮件的客户端也可以按照自己的喜好来处理这个问题。
发送客户端可以在创建 SMTP 消息之前重新排序您键入的内容,而接收邮件客户端可以在接收时重新安排,然后再将其显示给您。
发送/接收协议与这一切无关。
它只关心格式正确的 SMTP 消息。
协议的工作并不关心其之上的应用程序层如何处理消息。
归档时间: |
|
查看次数: |
6214 次 |
最近记录: |