1
programV2 OP 自己 up 下 , 查了一晚上的资料, 我的理解 是 pop3 用户是以客户端为中心管理邮件,imap 是以服务器为中心管理邮件。在邮件服务器的一些操作(如标记已读 不 会反馈到 pop3 客户端上
|
2
programV2 OP 如有出入 希望大佬指出 谢谢
|
3
imdong 2020-03-06 22:22:22 +08:00
如果没记错互不影响。
已经下载到本地的,不会被更新。 未被下载的,可能依然可以下载,但是服务器也可能不返回邮件。 因为 POP3 传输邮件 不传输已读状态,只有登录,列表,下载,删除。 |
4
programV2 OP @imdong 谢谢分享! 我刚才查了 POP3 的一些获取服务器信息的命令 , 理论上 POP3 下载 邮件不是通过查看服务器上邮件状态是已读还是未读来匹配决定要不要传输, 而是通过服务器邮件的 唯一标识符 uid 去 localMessage 里面匹配来决定哪些邮件是要下载的, 如果本地 uid 已经存在了,则不再去服务器上同步下载, 不知道我理解是对不对? 谢谢指点!
另 如果 POP3 传输邮件不传输已读状态, 那么假如我把服务器上所有邮件全标记为已读, 在电脑上重新配置 Outlook 客户端、或在其他终端(电脑、手机、pad 等)上新配置邮箱客户端 , 如果选择 POP3 协议,那么理论上就不会把任何邮件从服务器上下载下来了, 但实际却不是如此 |
5
xy90321 2020-03-06 23:16:28 +08:00 via iPhone
@programV2
你选 imap 也一样会把已读邮件下载下来,只是下载下来就已经是已读状态而已。 pop3 不同步邮件状态,你哪怕把服务器上所有邮件都设置成已读,在一个全新的 pop3 客户端上下载回来的也都是未读邮件。 邮件状态仅在 pop3 客户端本地管理。 |
6
programV2 OP @xy90321 谢谢分享! 我刚才查了 POP3 的一些获取服务器信息的命令 , 理论上 POP3 下载 邮件不是通过查看服务器上邮件状态是已读还是未读来匹配决定要不要传输, 而是通过服务器邮件的 唯一标识符 uid 去 localMessage 里面匹配来决定哪些邮件是要下载的, 如果本地 uid 已经存在了,则不再去服务器上同步下载, pop3 客户端和服务器的邮件状态互不影响, 不知道我理解 对不对? 谢谢指点!
|
7
leido 2020-03-07 00:03:01 +08:00 via Android
pop 客户端默认不会在服务器保留已下载邮件,需要设置,这点最坑,好在已经改用 imap 多年
|
8
imdong 2020-03-07 00:11:12 +08:00
POP3 原本是:服务器提供未下载的邮件列表,你选择下载,你下载后服务器会删除对应的邮件。
你本地已读不会影响服务器,服务器是否已读不会影响客户端。 但是,现在服务器普遍提供“禁止客户端删除邮件”功能, 所以,客户端实现的是,获取邮件列表,本地不存在的则下载。 但不排除服务器会把已经在服务器上已读的邮件从邮件列表中删除(当然,我没见过) 但是有一些服务器只会提供最近的一定数量的邮件,更早的不提供(这个我见过 一般是 150 封) 所以, 实际上, 大部分情况是: 你在 A 机器上下载了邮件后,在 B 机器重新配置,还是会下载所有的邮件. 不管你 A 机器是否已读,服务器是否已读.B 机器都会尝试加载所有能获取到的邮件 只要你没有做删除操作. |