发布于 更新于
IMAP 和 POP3 的区别:IMAP 会删除服务器上的邮件吗
会,前提是你删除了邮件。IMAP 删除邮件时,删的是服务器上的那一封,所以你连接的每个 App 里都会同步删除。服务器保存着你邮件唯一的真正副本,各个 App 都在这份副本上操作:阅读或下载邮件不会删掉任何东西,但在一个 App 里删除,所有 App 里都会删除。大多数 App 会先把邮件移到废纸篓(Trash)文件夹,在那里你还能找回;Gmail 则通常会把它归档到 All Mail(所有邮件)。IMAP 和 POP3 的区别就在这里:POP3 会把邮件下载到一台设备上,并可能根据设置删除服务器上的副本。如果你想在一个什么都删不掉的 App 里阅读自有域名上的别名邮件,CatchNone 会通过 IMAP 或 JMAP 以只读方式读取那个邮箱,从不在服务器上标记、移动或删除任何邮件,适用于 iPhone、iPad 和 Mac。
IMAP 会在所有 App 中删除服务器上的邮件吗?
会,不过通常是先移到废纸篓,而不是直接永久删除。现行的 IMAP(Internet Message Access Protocol,互联网消息访问协议)标准 RFC 9051 把 IMAP 描述为一种操作“远程邮件文件夹”的方式,用起来就像操作本地文件夹一样。IMAP App 确实会下载邮件:你的手机、笔记本电脑和网页邮箱可能各自缓存副本,以加快速度、方便离线阅读,但这些副本都以服务器为准。邮件一旦从服务器上消失,下次同步时就会从每个 App 中消失。
删除分两步:先标记,再清除
- App 给邮件设置
\Deleted标记。邮件被标记为待删除,但仍然存在。 - 执行
EXPUNGE命令,或用CLOSE关闭文件夹,会永久删除该文件夹中所有带标记的邮件。
在第二步之前,清除标记就能让邮件恢复原状。较早的桌面 App 会把这个过程显示出来:Microsoft 的 Outlook 2010 帮助显示,标记为删除的 IMAP 邮件会带着删除线,直到被清除(purge);之后,“它们会从 IMAP 邮件服务器中删除,且无法恢复”。
删除通常意味着“移到废纸篓”
现在大多数 App 会改为把删除的邮件移到服务器上的废纸篓文件夹。用 IMAP 的术语说,这通常是一个 MOVE:把复制、设置 \Deleted 标记和清除(expunge)合成一步完成。每台设备都会在废纸篓里看到这封邮件,只有废纸篓被清空(由你、App 或服务商清空)后,邮件才会彻底消失。截至 2026 年 9 月,Gmail 会在 30 天后永久删除废纸篓中的邮件;Apple 的 iPhone“邮件”使用手册也指出,无论你的 iPhone 如何设置,iCloud 保留已删除邮件的时间都不会超过 30 天。
Gmail:是标签,不是文件夹
Gmail 把标签以文件夹的形式呈现给 IMAP App,All Mail(所有邮件)、Spam(垃圾邮件)和 Trash(已删除邮件)等系统文件夹位于 [Gmail] 下。在标签文件夹中删除邮件,通常只是去掉这个标签。Google 的 IMAP 设置指南写道:“你从 IMAP 文件夹中删除的邮件,可以在 Gmail 的‘所有邮件’标签中找到。”它还提醒不要让 App 把删除的邮件放进 Gmail 的废纸篓,因为这些邮件“30 天后会从 Gmail 中永久删除”。Gmail 自己在服务器端的删除设置见下表。
Outlook 会删除服务器上的 IMAP 邮件吗?
会。Outlook 通过 IMAP 连接时,会像其他 App 一样在服务器副本上操作,所以在 Outlook 中删除会同步到每台设备;某些较早的版本会像上文所说的那样,先用删除线显示邮件。如果你的邮箱是 Outlook.com 或 Hotmail,它的 IMAP 服务器是 outlook.office365.com,端口 993,而且 Microsoft 要求使用新式登录(OAuth2)。自 2024 年 9 月 16 日起,只发送用户名和密码的 App 已无法再用于 Outlook.com 和 Hotmail 账户。
常用 App 中删除的邮件去了哪里
| App | 在哪里查看 | 可以选择什么 |
|---|---|---|
| iPhone 上的“邮件”(iOS 27) | “设置”>“App”>“邮件”> Mail Accounts(邮件账户)> 该账户 > Account Settings(账户设置)> Advanced(高级)。iCloud 账户:Mail Accounts(邮件账户)>“iCloud”> Mailbox Behaviors(邮箱行为) | Move Discarded Messages Into:(将废弃的邮件移到:)Deleted Mailbox(已删除邮箱)或 Archive Mailbox(归档邮箱)。Remove:(移除:)已删除的邮件保留多久 |
| Mac 上的“邮件”(macOS 27) | “邮件”>“设置”> Accounts(账户)> Mailbox Behaviors(邮箱行为) | Trash Mailbox(废纸篓邮箱):服务器上的某个邮箱、On My Mac(我的 Mac 上)中的某个邮箱,或 None(无);以及 Erase deleted messages(抹掉已删除的邮件) |
| Thunderbird(桌面版,截至 2026 年 9 月的当前版本) | Account Settings(账户设置)> 该账户 > Server Settings(服务器设置) | When I delete a message:(删除邮件时:)Move it to this folder(移到此文件夹)、Just mark it as deleted(仅标记为已删除)或 Remove it immediately(立即删除)。另有 Clean up (“Expunge”) Inbox on Exit(退出时清理收件箱)和 Empty Trash on Exit(退出时清空废纸篓) |
| Gmail(网页版设置) | “设置”>“查看所有设置”> Forwarding and POP/IMAP(转发和 POP/IMAP) | 是否立即清除(expunge),以及被清除的邮件是归档、移到废纸篓,还是永久删除 |
有些选项会跳过废纸篓:Mac 上的 None(无)、Thunderbird 的 Remove it immediately(立即删除),以及 Gmail 的永久删除设置。在 Gmail 以外,Thunderbird 的 Just mark it as deleted(仅标记为已删除)也是如此:邮件会一直带着标记,直到文件夹被清除(expunge),然后就彻底没了。Thunderbird 默认使用废纸篓;对于 Gmail 账户,Google 建议选择 Just mark it as deleted,并取消勾选两个“on Exit”(退出时)选项。最终决定权在服务商:Apple 的 Mac 使用手册指出,如果服务器设置为删除较早的邮件,那么“无论你如何更改此选项”,这些邮件都会被删除。
在另一个 App 里读了邮件,其他地方也会显示已读吗?
使用 IMAP 时,会。已读状态就是存储在服务器上的 \Seen 标记,所以它会像删除一样同步。App 如果通过获取 BODY[] 来下载邮件,就会把邮件标为已读;如果获取的是 BODY.PEEK[],邮件则保持原状,App 可以在你打开邮件时再自行设置 \Seen。
下文介绍的较新协议 JMAP 也用同样的方式同步已读状态。POP3 完全没有已读状态,所以每台设备各记各的。例外是 Gmail:它的 POP 设置可以在其他 App 下载邮件时,把 Gmail 中的副本标为已读。
IMAP 和 POP3 的区别:哪个会把邮件留在服务器上?
IMAP 在设计上就会把邮件留在服务器上。POP3(Post Office Protocol version 3,邮局协议第 3 版,通常简称 POP;RFC 1939)的设计目标恰好相反:“通常,邮件会被下载,然后删除。”
| IMAP | POP3 | |
|---|---|---|
| 邮件存放在哪里 | 服务器上;App 保留副本 | 下载它的那台设备上;服务器上的副本保留还是删除,取决于设置 |
| 多台设备 | 全部保持同步 | 各自单独下载 |
| 已读和未读 | 同步 | 不同步 |
| 文件夹 | 服务器上的文件夹,在每个 App 中都能看到 | 服务器上只有收件箱;其他文件夹都在本地 |
| 删除的效果 | 在服务器上删除,所有 App 同步,通常先进废纸篓 | 删除本地副本;只有 App 设置为移除服务器副本时,服务器上的副本才会删除 |
| 标准端口 | 993(TLS)或 143(先明文,再 STARTTLS) |
995(TLS)或 110(先明文,再 STLS) |
POP 的删除同样分两步。DELE 命令只会标记邮件,等 App 用 QUIT 结束会话时,服务器才会删除它。“Leave messages on server”(在服务器上保留邮件)是 App 里的设置。标准称之为 IMAP 功能的“弱化版”,而且服务器不一定遵守。服务器上的副本会怎样,取决于 App 和服务商:
- Thunderbird:用 Thunderbird 账户向导新建的 POP 账户,默认最多在服务器上保留邮件 14 天,而且在本地删除邮件也会删除服务器上的副本。
- Gmail:它的 POP 设置提供 Keep Gmail’s copy in the Inbox(在收件箱中保留 Gmail 副本)、Mark Gmail’s copy as read(将 Gmail 副本标为已读)、Archive Gmail’s copy(归档 Gmail 副本)或 Delete Gmail’s copy(删除 Gmail 副本)。
- Yahoo:它的 POP 访问“下载的是邮件的副本,所以你可以在 App 中移动和删除它们,而不影响原始邮件”。
除非有特别的理由,否则请使用 IMAP。如果你希望由一台电脑保存唯一的副本,比如在关闭旧账户之前把里面的邮件全部下载下来,而且这台电脑有备份,那么 POP 就合适。
不确定你的 App 用的是哪一种?查看账户的服务器设置:端口 993 或 143 表示 IMAP,995 或 110 表示 POP。Exchange 和 Microsoft Graph 是 Microsoft 自己的协议,与这两者都不同。
哪些邮箱服务商提供 IMAP 或 POP3
服务器名称和端口(截至 2026 年 9 月):
| 服务商 | IMAP | POP3 | 值得了解 | 在 CatchNone 中阅读 |
|---|---|---|---|---|
| Gmail | imap.gmail.com,端口 993 |
pop.gmail.com,端口 995 |
IMAP 始终开启;比起应用专用密码,Google 更推荐 Sign in with Google(使用 Google 账号登录) | 可以,使用应用专用密码 |
| Outlook.com、Hotmail | outlook.office365.com,端口 993 |
同一服务器,端口 995;开启 Let devices and apps use POP(允许设备和应用使用 POP)之前不可用 | 必须使用 OAuth 登录 | 不可以(仅支持 OAuth) |
| Yahoo Mail | imap.mail.yahoo.com,端口 993 |
pop.mail.yahoo.com,端口 995 |
IMAP 需要 app password(应用密码) | 可以,使用 app password |
| iCloud 邮件 | imap.mail.me.com,端口 993 |
不提供 | 需要“App 专用密码” | 可以,使用“App 专用密码” |
| Fastmail | imap.fastmail.com,端口 993 |
pop.fastmail.com,端口 995 |
Basic 方案不支持(不能用第三方 App、app password 或 API 令牌);还提供 JMAP;IMAP 和 POP 都不支持 STARTTLS |
可以,通过 IMAP 或 JMAP(Basic 方案除外) |
| Proton Mail | 只能通过 Proton Mail Bridge | 不提供 | Bridge 需要付费方案 | 不可以 |
IMAP 只读访问是什么意思
IMAP 只读访问是指 App 用 EXAMINE 而不是 SELECT 打开文件夹,用 BODY.PEEK[] 而不是 BODY[] 下载邮件。邮箱里的一切都不会改变:没有邮件会被标为已读、加旗标、移动或删除。只读邮件客户端,就是只使用这些命令的 App。
从服务器的回复中可以看出区别。下面两段交互是 RFC 9051 中的示例(C: 是 App,S: 是服务器,blurdybloop 是标准里的示例文件夹名):
C: A142 SELECT INBOX
S: * 172 EXISTS
S: * OK [UIDVALIDITY 3857529045] UIDs valid
S: * OK [UIDNEXT 4392] Predicted next UID
S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
S: * OK [PERMANENTFLAGS (\Deleted \Seen \*)] Limited
S: * LIST () "/" INBOX
S: A142 OK [READ-WRITE] SELECT completed
C: A932 EXAMINE blurdybloop
S: * 17 EXISTS
S: * OK [UIDVALIDITY 3857529045] UIDs valid
S: * OK [UIDNEXT 4392] Predicted next UID
S: * LIST () "/" blurdybloop
S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
S: * OK [PERMANENTFLAGS ()] No permanent flags permitted
S: A932 OK [READ-ONLY] EXAMINE completed
每段回复的最后一行表明文件夹是以什么方式打开的:[READ-WRITE] 或 [READ-ONLY]。PERMANENTFLAGS 列出 App 可以永久更改的标记:在这两个示例中,SELECT 之后是 \Deleted、\Seen 和新关键字(\*),EXAMINE 之后则一个都没有。对于用 EXAMINE 打开的文件夹,标准“不允许对邮箱的永久状态做任何更改,包括每个用户各自的状态”,关闭它也不会清除任何邮件。
| 步骤 | 普通邮件 App | 只读 App |
|---|---|---|
| 打开文件夹 | SELECT |
EXAMINE |
| 下载邮件 | BODY[],或 BODY.PEEK[] 加上你打开邮件时设置的 \Seen 标记 |
只用 BODY.PEEK[];不会标为已读 |
| 删除 | \Deleted 标记加 EXPUNGE,或 MOVE 到废纸篓 |
在用 EXAMINE 打开的文件夹中不允许 |
服务器会强制只读吗?
通过 IMAP 访问你自己的邮箱时,只有 App 主动要求,服务器才会强制只读。发送 EXAMINE 之后,服务器会在本次会话中让该文件夹保持只读。其他一切都由 App 自己掌握:
- 同一个登录随时可以改为发送
SELECT。 EXAMINE只针对一个文件夹。账户级命令,如DELETE(删除整个文件夹)、RENAME和APPEND,仍然有效。- 用不用
BODY.PEEK[],完全由 App 决定。
服务器也可以通过访问权限(RFC 4314)强制只读,但这用于共享邮箱和委派邮箱。Gmail、Outlook.com、iCloud 和 Fastmail 都没有在文档中提供以只读方式登录你自己邮箱的 IMAP 选项;最接近的是 Fastmail 的只读 JMAP 令牌,见下文。
你的密码或登录方式允许做什么
| 你提供给 App 的 | 允许做什么 |
|---|---|
| 你的密码,或 Google 的“应用专用密码”、Apple 的“App 专用密码”、Fastmail 的 app password | 完全访问你的邮件:读取、标记、移动和删除 |
| Sign in with Google(使用 Google 账号登录) | Google 对其唯一 IMAP 权限的描述是“Read, compose, send, and permanently delete all your email from Gmail”(读取、撰写、发送并永久删除你在 Gmail 中的所有电子邮件) |
| Sign in with Microsoft(使用 Microsoft 账户登录) | Microsoft 的 IMAP 权限是“Read and write access to mailboxes via IMAP”(通过 IMAP 读写邮箱) |
| 带 Read-only access(只读访问)权限并勾选 Email 的 Fastmail JMAP API 令牌 | “你可以下载和查看数据,但数据无法被更改” |
Fastmail 允许按数据类型限制 app password 的权限,但没有在文档中提供只读选项。Google 的只读权限只存在于它自己的 Gmail API,不适用于 IMAP。所以,当一个 App 说自己是只读的,你信任的是 App,而不是密码。
如何安全地试用新的邮件 App
- 选择 IMAP(或 JMAP),不要选 POP。POP App 可能在下载邮件的同时把它从服务器上拿走。IMAP App 会让邮件留在原处,不过删除仍会同步(见第 4 步)。
- 如果你的服务商和 App 支持只读令牌,就用它。这只适用于通过 JMAP 连接的 App。在 Fastmail 中,前往 Settings(设置)> Privacy & Security(隐私与安全)> Connected apps & API tokens(已连接的应用和 API 令牌)> Manage API tokens(管理 API 令牌)> New API token(新建 API 令牌),选择 JMAP,然后只勾选 Read-only access(只读访问)和 Email,其他都不选(Fastmail 的 API 令牌指南)。我们的 Fastmail 指南会一步步带你创建令牌。截至 2026 年 9 月,Fastmail 的 Basic 方案不提供 API 令牌。
- 否则,就给它单独一个应用密码。这样以后你可以只撤销这一个密码,不影响其他 App。如果是 iCloud,在 account.apple.com >“登录和安全”>“App 专用密码”中创建;我们的 iCloud App 专用密码指南有详细步骤。Gmail 需要先开启“两步验证”,而且如果 App 提供 Sign in with Google(使用 Google 账号登录),Google 更推荐用它;参见 Gmail 应用专用密码和 IMAP 设置。
- 添加账户后,在删除任何邮件之前,先检查它的删除设置。参照上面的表格:选择废纸篓或归档(Gmail 请按上文 Google 的建议来,而不是选废纸篓);在你信任这个 App 之前,避免选择 None、Remove it immediately,以及(Gmail 以外的)Just mark it as deleted。
- 用一封你不需要的邮件来测试。给自己发一封,在新 App 中打开,看看它在你常用的 App 里是否变成已读。然后在新 App 中删除它,看看它去了哪里。
- 不再使用这个 App 时,撤销密码。Apple 的 App 专用密码页面介绍了 Remove(移除)和 Revoke All(全部撤销)。Google 的应用专用密码在 myaccount.google.com/apppasswords 管理,具体见它的应用专用密码帮助页面。
JMAP 和 IMAP 简要对比
JMAP(JSON Meta Application Protocol)是一种较新的电子邮件协议,用途与 IMAP 相同,于 2019 年以 RFC 8620 和 RFC 8621 发布,主要作者是一位 Fastmail 工程师。它通过 HTTPS 发送 JSON,而不是像 IMAP 那样发送文本命令,而且每个请求都必须使用 TLS 1.2 或更高版本。IETF 的介绍文章称 IMAP“耗费资源”,不太适合移动网络。
在删除和已读状态方面,模型并不陌生:
- 一封邮件可以同时位于多个邮箱中,很像 Gmail 的标签。
- 删除通常是把它移到具有废纸篓角色(trash role)的邮箱。“销毁”(destroy)则会把它从所有邮箱中移除。
- 已读状态是
$seen关键字,相当于 JMAP 版的\Seen。 - 服务器会告诉每个 App,整个账户是否为只读。
这对你重要吗?只有当你的服务商提供 JMAP、你的 App 也支持它时才重要。Fastmail 在 Basic 以上的方案中提供 JMAP。App 方面,Thunderbird 桌面版目前还不支持,不过它 2026 年 9 月 2 日的公告表示,团队对以后加入支持持乐观态度。不管用哪种协议,删除都会像在 IMAP 中一样同步。
IMAP 的 993 端口安全吗?STARTTLS 是什么?
在传输过程中是安全的。在 993 端口上,IMAP 从第一个字节起就是加密的:连接一开始就进行 TLS 握手,与 HTTPS 为网站提供的保护属于同一类。这叫作隐式 TLS(implicit TLS)。143 端口是 IMAP 的明文端口,App 可以在这个端口上用 STARTTLS 命令把连接升级为加密连接。
如今的标准更推荐 993 端口。RFC 8314(2018 年)建议邮件 App 优先使用隐式 TLS 而不是 STARTTLS,并使用 TLS 1.2 或更高版本;RFC 9051 则要求所有按现行标准实现的服务器都提供隐式 TLS。2021 年的一项 USENIX Security 研究在邮件客户端和服务器中发现了 40 多个 STARTTLS 漏洞,还有约 320,000 台服务器(2%)存在命令注入风险。许多问题在披露后得到了修复,但作者的结论是,STARTTLS“应当避免使用”。Fastmail 的 IMAP 和 POP 都不提供 STARTTLS,Gmail 和 iCloud 则要求在 993 端口上使用加密连接(SSL/TLS)。
TLS 保护的是连接,而不是存储的邮件,它也不是端到端加密;RFC 8314 本身就这样说明。所以,993 端口保护的是传输途中的密码和邮件,仅此而已。薄弱环节在于你的密码(请使用双重认证登录和应用专用密码),以及每个 App 如何使用你给它的访问权限。
为别名准备的只读客户端:CatchNone
CatchNone 正是上文所说的只读客户端,专为你自有域名上的邮件别名打造。通过 IMAP(隐式 TLS,默认端口 993)时,它只用 EXAMINE 打开你的收件箱,用 BODY.PEEK[] 下载邮件;通过 JMAP 时,它使用访问令牌。它从不在你的服务器上标记、移动或删除任何东西,所以本文讲到的任何删除都不会由它引起。它直接从你的设备读取邮箱,这些邮件从不经过 CatchNone 的服务器。
每家网店、每个邮件订阅或每个账户都有自己的别名,每封邮件都会标出它送达的别名,哪个地址被泄露或被卖掉,一看便知。CatchNone 在设计上只负责收信:注册类邮件留在它自己的 App 里,与你的主收件箱分开。“免费方案”在你自己的域名上最多支持 10 个别名,Lite 和 Premium 没有数量限制。如果你想省掉域名和邮箱,Premium 还提供 @catchnone.com 地址,无需任何设置。
不过,你输入的密码或应用专用密码仍然拥有完全访问权限:只读是 App 的行为方式,而不是凭据所允许的范围。CatchNone 不支持 POP3、Exchange、STARTTLS 或 OAuth 登录,所以 Outlook.com 和 Hotmail 很可能无法连接,Gmail 则需要应用专用密码。你域名的邮件还必须先到达这个收件箱,通常靠的是 catch-all 地址(发往域名任何地址的邮件都进入同一个邮箱),这需要一家支持 catch-all 的邮件服务商;被归入垃圾邮件或被规则移走的邮件不会显示。下载 CatchNone,适用于 iPhone、iPad 和 Mac。
常见问题
“从服务器删除”是什么意思?
服务商的服务器保存着你邮件的主副本,App 里的都是副本。使用 IMAP 时,每次删除都是在服务器上删除,通常要经过废纸篓。使用 POP 时,这取决于设置:App 下载后要么保留服务器上的副本,要么将其删除。
误删了邮件,还能找回吗?
通常可以,只要动作够快。通过网页邮箱或任何 App,查看服务器上的废纸篓(或“已删除”)文件夹;如果是 Gmail,还要看看 All Mail(所有邮件)。截至 2026 年 9 月,Gmail 和 iCloud 最多把废纸篓中的邮件保留 30 天。一旦废纸篓被清空,或邮件被清除(expunge),它就会从每个 App 中消失。
能在手机上删除邮件,但在服务器上保留吗?
用 IMAP 删除不行,因为它会在所有地方删除。改用归档:在 iPhone 上,在 Move Discarded Messages Into(将废弃的邮件移到)下选择 Archive Mailbox(归档邮箱),这样你丢弃的邮件会进入归档邮箱,而不是废纸篓。使用 POP 并开启“在服务器上保留邮件”时,本地删除不会影响服务器上的副本,除非 App 同时设置了在服务器上删除,当前版本 Thunderbird 中新建的 POP 账户就是这样设置的(Until I delete them,即“直到我删除它们”)。服务器仍可能按自己的策略删除旧邮件。
能从服务器删除邮件,但在电脑上保留一份吗?
可以:先把它移到存储在电脑上的邮箱。在 Mac 上的“邮件”中,选择 Mailbox(邮箱)> New Mailbox(新建邮箱),并把 Location(位置)设为 On My Mac(我的 Mac 上);Apple 表示,这些邮箱只存储在那台 Mac 上。Thunderbird 的 Local Folders(本地文件夹)也是同样的道理。删除服务器上的副本后,那台电脑上的就是唯一一份,所以要做好备份。
从 App 中移除账户会删除我的邮件吗?
IMAP 不会。Apple 的 Mac“邮件”使用手册指出,该账户的邮件会从你的 Mac 上移除,而“邮件的副本仍保留在该账户的邮件服务器上”。使用 POP 的话,请先备份:移除账户会从 Mac 上删除已下载的邮件,只有服务器上仍保存的邮件会留下来。