|
沙发
楼主 |
发表于 2016-4-20 23:50:17
|
只看该作者
一般的服务器上的邮件夹名称为 inbox / drafts / sent / trash/ junk ,QQ的有所不同,inbox / drafts / sent messges/ deleted messages,所以在IMAP协议下发送的时候无法保存邮件到 “已发送”,客户端默认将已发送的邮件保存到sent,而QQ为sent messages,只要在发现时QQ邮箱时,将sent设置为sent message即可。 其他邮箱如果有类似情况,也是这个原因。
客户端建立本地目录的过程:
1 发送LIST / XLIST / LSUB,根据返回的结果建立本地文件夹(mail.server.default.using_subscription 开关控制使用LIST还是使用LSUB)
2 建立好本地文件夹后,更改文件夹的属性(为文件设置sent, trash,....等标记),更改图标和显示的文字。
3 当操作邮件后,客户端自动根据文件夹的标记将邮件存储到文件夹中。
涉及到的文件:
nsImapIncomingServer.cpp (将文件夹对应主要在这个文件中)
nsImapProtocol.cpp
nsImapServerResponseParser.cpp
nsMsgDBFolder.cpp
为all-thunderbird.js增加mail.server.default.using_subscription,设置为false,默认没有这个选项,但是官方的版本有。
到tb_rel\mailnews\mailnews\base\util下执行make
到tb_rel\mail\app\profile 下执行make
到tb_rel\mailnews\imap\src下执行make
到tb_rel\mozilla\toolkit\library下执行make |
|