服务器如何将电子邮件标记为已读

服务器如何将电子邮件标记为已读

我想知道服务器如何使用 IMAP 或 POP 将电子邮件标记为已读和未读。

我已经登录到我的服务器(使用 cPanel)并导航到我的mail目录并下载了相同的电子邮件文件(已读和未读),并对它们使用了文件比较器,结果发现两个电子邮件文件是相同的。

如果我将所有mail目录移动到不同的服务器,它如何知道哪些电子邮件已被阅读?


更新
我从这两个文件中注意到的一件事是,内容完全相同,但文件名、字母有细微的变化年代被添加在最后。

Unread: 1507345332.M378557P5...,S=78315,W=80152-2,c
Read:   1507345332.M378557P5...,S=78315,W=80152-2,Sc

关联由@rAlen 提供,我能够看到年代代表已看过并在阅读电子邮件后立即添加。

答案1

cPanel 使用 dovecot 作为 POP3/IMAP 服务器。

已读邮件将从“新”文件夹移至“当前”文件夹。

从:https://wiki2.dovecot.org/MailboxFormat/Maildir


目录结构

默认情况下,Dovecot 使用 Maildir++ 目录布局来组织邮箱目录。这意味着所有文件夹都直接位于 ~/Maildir 目录中:

  • ~/Maildir/new、~/Maildir/cur 和 ~/Maildir/tmp 目录包含 INBOX 的消息。tmp 目录用于传递,新消息到达 new 目录,客户端将已读消息移动到 cur 目录。
  • ~/Maildir/.folder/ 是邮箱文件夹

  • ~/Maildir/.folder.subfolder/ 是文件夹的子文件夹(即“folder/subfolder”)

您还可以选择使用“fs”布局,方法是将 :LAYOUT=fs 附加到 mail_location。这使得文件夹结构如下所示:

  • ~/Maildir/new、~/Maildir/cur 和 ~/Maildir/tmp 目录包含 INBOX 的消息,就像 Maildir++ 一样。

  • ~/Maildir/folder/ 是邮箱文件夹

  • ~/Maildir/folder/subfolder/ 是文件夹的子文件夹


相关内容