浅谈邮件传输协议
2023年10月25日最近在家办公,跟邮箱的拉扯比较多,大概写个总结和备忘吧。
我们用的是某鹅厂的企业邮箱,这个是大前提。
常用的邮件传输协议
现在常用的邮件传输协议有 POP3 、IMAP 和 SMTP,还有一个是微软的 Exchange ActiveSync(EAS)协议。
此外,不要把 Exchange 和 EAS 混淆。前者是一套邮件系统,它具备 WebMail 功能,当然也可以支持上述这些协议(包括 EAS)。要想体验完整的 Exchange 服务,必须是企业自建 Exchange 邮件系统或者买微软的 Microsoft 365 服务才行,鹅厂的企业邮箱也支持 EAS 协议,不过是不是完整版不清楚,可提供的选项很少。
各协议的特点和区别
首先 POP3 和 IMAP 都用于邮件收取,这两种协议的历史都比较悠久,POP3 是 1996 年公布的,IMAP 的正确称呼应该是 IMAP4,是 2003 年修订的第 4 版,大家还是习惯写成 IMAP 而已。
而 SMTP 用于邮件发送,诞生时间是 1981 年,更加古老;后来在 1995 年有了更加安全的 ESMTP,但通常还称为 SMTP。
POP3 和 IMAP 这两种协议都要求运行在客户端模式下,不同点在于:
- POP3 是专注于收取邮件的,收取后邮件就保留在客户端里,服务器里的邮件就会被删除。为了改善 POP3 删邮件这个问题,后来对这个功能进行了扩展,让用户能够事先设置邮件读取后仍然在 POP3 服务器中存放的时间,也就是所谓的【禁止收信软件删信】功能。并且也要在相应的客户端里开启才能生效。
- IMAP 协议虽然也专注于收取邮件,但范围扩大了,它可以做到客户端和服务器端的内容双向同步。在 IMAP 协议下删除客户端的邮件时,网页端的邮件也被同步删除了;但在 POP3 协议下,如果在客户端删除邮件,网页端的邮件是没有变化的。并且 POP3 协议也不能同步邮箱里的多个文件夹,常见的如「已发送」文件夹就无法同步;而 IMAP 协议是可以的。
POP3 和 IMAP 虽然都用于邮件收取,但都不能做到实时收取邮件,都要在客户端里设置同步时间,以便每隔一段时间向服务器查询有没有新邮件。
而 EAS 协议可以实现实时收取邮件,并且它还可以同步日历、任务和联系人,还有一些高级功能。毕竟是微软的企业级产品,这些功能都做不到,怎么拿来卖钱?
最后来说一说 SMTP 协议。
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)属于请求应答型协议,类似 HTTP 协议。请求应答的过程不赘述,只需要记住它的常用端口号就行:
- 25(会被 ISP 封杀,基本没人用)
- 465(支持 SSL 协议,鹅厂企业邮箱用的是这个端口号)
- 587(支持 STARTTLS 协议,实际应用上跟 465 没什么区别)
SSL/STARTTLS 协议都是为了增强安全性而设计的,效果也是大同小异。
客户端选择
对于鹅厂的企业邮箱,推荐使用 Foxmail。毕竟也曾经是鹅厂邮箱的招牌客户端嘛!虽然现在他们在强推企业 wx 作为邮箱客户端,但说实话 Foxmail 真的足够用了。
现在如果在 Foxmail 里添加鹅厂的企业邮箱账号,默认就会使用 IMAP + SMTP + EAS 这三个协议。这样就能满足大部分人的需求了。
对于 Outlook,目前最新版本是 Outlook 365,它把 EAS 这个设置藏得非常之深……看来也是为了强推 Microsoft 365 啊。设置方法我会单发一篇文章介绍。