POP3全称是Post Office Protocol version 3,也就是邮局协议第三版,它的功能很单一,就是把邮件从邮件服务器下载到本地设备。默认POP3服务器使用POP3协议,传输层依托TCP,默认端口110。这个端口采用明文传输,账号密码仅通过base64编码传递,抓包手段就能还原信息,所以现在很少有人直接裸用110端口。加密版本叫POP3S,基于SSL/TLS加密,默认端口995。还有一种方案是在110端口使用STARTTLS,先建立明文连接,后续升级加密,配置方式比较灵活,但不同客户端对它的支持参差不齐。

POP3的工作流程分为三个阶段。授权阶段,客户端连接服务器,使用USER、PASS指令提交账号密码,也可以采用APOP、SASL实现安全性更高的身份校验。事务阶段,客户端可以通过STAT查看邮件总数与总大小,LIST列出每一封邮件编号和大小,RETR下载指定邮件,DELE标记邮件待删除,NOOP维持连接,RSET取消删除标记。更新阶段执行QUIT命令,服务器才真正删除邮件、释放锁定并断开连接。整套流程依靠纯文本单行指令交互,服务器回复以+OK或者-ERR开头。这套设计足够简单,甚至可以用telnet手动收取邮件,调试起来很方便。
协议原生设定是下载邮件之后,把服务器上对应的邮件删除,这也是POP3最初的设计思路。早年拨号上网按时长计费,服务器存储空间成本高,邮件下载到本地就完成处理。现在不少用户依旧在使用POP3,但是会在客户端开启“在服务器保留副本”,不然更换设备之后,就看不到之前的邮件记录。不同客户端里这个选项叫法不一样,Outlook写的是“在服务器上保留邮件的副本”,Foxmail叫做“保留服务器备份”,功能是相同的。
POP3不会维护服务器端的文件夹结构,收件箱、已发送、草稿箱这类目录概念它不处理。邮件的已读未读状态、星标、标签信息,POP3同样不会保存。协议只会识别收件箱,列出里面邮件供用户下载。如果你需要多台设备同步邮件状态,POP3做不到,需要改用IMAP协议。但如果你只用一台电脑接收邮件,下载完成就在本地归档,POP3会更加简单直接。
端口很容易混淆,110对应明文POP3,995对应POP3S。部分邮件客户端自动配置时,检测开启SSL就填入995,没有SSL就填写110。企业环境优先推荐995或者STARTTLS,明文传输密码风险过高。常见POP3服务软件包含Dovecot、Courier,还有微软Exchange自带的POP3服务,默认监听端口就是110和995。配置防火墙的时候记得放行对应端口,加密和非加密是两套独立端口,不要只开放其中一个。
客户端提示“POP3服务器没有响应”时,优先核对端口与加密方式是否匹配。把995配置成明文模式,或是将110设置为SSL加密,都会连接失败。接着检查防火墙、杀毒软件是否拦截连接。还可以用telnet手动测试,telnet 服务器地址 110,看能不能收到+OK欢迎信息。能收到说明服务器正常运行,问题出在客户端配置;收不到就是网络或者服务器侧故障。按照这个顺序排查,比盲目修改设置效率更高。