我正在使用IMAP协议从SMTP服务器读取电子邮件。我想知道谁将电子邮件状态从未读更改为已阅读?是由SMTP服务器还是由电子邮件客户端完成的?
答案 0 :(得分:1)
SMTP在将消息传递到IMAP服务器时停止参与。通常,IMAP服务器在第一次到达时将消息的标志设置为unread
,并在您获取消息时删除此标志。
理论上,客户端可以独立于服务器保持其自己的本地每消息状态,但是对于读取/未读状态,这没有多大意义。对于其他元信息,这可以用作其他类型的消息状态的机制;例如,Thunderbird的消息标签似乎没有保存在服务器上。
顺便提一下,IMAP协议中有一个peek
选项,用于在不影响其未读状态的情况下检查邮件。