Contents
FAQ:邮件线索
Xin LI <[email protected]> reply-to [email protected], to [email protected], date Wed, Apr 9, 2008 at 11:40 AM subject [CPyUG:46591] Re: XXXXXXXXXXXXXXXXXXXX
zhjj wrote: > 看到有人说FOXMAIL之类的邮件客户端破坏“邮件线索”,邮件线索是什么?谁能讲 > 一下,或者告诉我哪里能找到这方面的资料? > 如果我自己做一个客户端,该怎么组织线索? > 谢谢!
你需要阅读许多的 RFC 并且非常小心地实现才行,基本上这些文档就够读上十天 半个月的。
你说的问题的答案在 RFC 2822 的 A.2 小节,假如你想要实现一个发信程序,请 务必遵循 RFC 2822, 2046, 2047, 4288, 2049, 2392, 2387, 并阅读其他 全部 相关 RFC。
080911~ 进一步细说
Apex Liu <[email protected]> reply-to [email protected] to [email protected] date Thu, Sep 11, 2008 at 22:17 subject [CPyUG:65441] 关于邮件的线索功能的一些解释
我想大家都误解了邮件的“线索”这个功能了,它并不是根据邮件主题来进行关联 的,我来解释一下:
- 真正的线索是与主题无关的。如果你能够看到邮件头,你会发现一些有趣的东西。
在Foxmail中,选中一封邮件,然后右键菜单中的“邮件信息->原始信息”可以看 到邮件头;对于Becky来说,在邮件内容的下方能够直接看到“Header”标签,点 击该标签就能够看到邮件头;在GMail中,查看邮件时在邮件主题的右侧有一个回 复按钮(带下拉展开),点按钮右侧的倒三角,出现的菜单中选择“显示原始邮件” ,然后在新开的浏览器窗口内容中上面部分就是邮件头。
- 在邮件头中,你可以看到这样的信息:
Message-ID: <[email protected]>
- 这是该邮件的全球唯一标识。同时你还可以看到类似这样的信息(如果这封邮件不
是一个线索的第一封邮件的话):
`References: <[email protected]> <[email protected]>`
- 这表明当前查看的邮件是一个线索中某一封回复邮件,它是回复了一封唯一标识为
- 的邮件,而被回复的那封邮件,又是回复了一封唯一标识为:
的邮件。至于整个线索中, <[email protected]>
这封邮件是不是线索的第一封,需要看那一封邮件的邮件头中是否有References: 字段。线索的第一封邮件是没有References:这个字段的。
- 然而,如果一封邮件是线索中的第1000封回复,如果保留完整的“邮件层次链”,
那么其References:字段可能会变得很大,得不偿失(例如回复一句话就十几个字节 ,但是邮件头可能就占用了好几Kb),所以一些邮件客户端在回复邮件时,只在 References:字段中保留被回复的那封邮件的全局唯一标识。此时References:字段 的作用就变得跟In-Reply-To:字段的作用一样了。
- 这样一来,如果你收取的邮件中缺少了中间的几封邮件,就可能出现“线索断裂”
的情况了。
我想,Foxmail并没有真正按照RFC中对于邮件头中References:字段的作用去操作
,而是直接使用了邮件标题来决定是否是同一个线索中的邮件。而Gmail或者Beck y这样的邮件客户端,却很好的按照RFC的标准来实现,所以如果大家都用这样的邮 件客户端,即使回复时将标题改得一塌糊涂,也是能够正确管理整个线索的。
-- Apex Liu <[email protected]>
反馈
创建 by -- ZoomQuiet [2008-04-09 03:50:35]