本文翻译自我的英文博客,最新修订内容可随时参考:邮件服务与协议
最近在折腾域名的DNS配置,顺带需要搭建域名邮箱服务。多次尝试后发现手机始终收不到邮件,突然意识到可能是没开启IMAP服务。借此机会梳理一下邮件服务与相关协议。
最常见的邮件协议包括SMTP、POP3和IMAP。
SMTP(简单邮件传输协议)
SMTP(Simple Mail Transfer Protocol)用于邮件服务器之间的邮件传输,基于TCP/IP协议,核心是定义邮件如何从发件人服务器传递到收件人服务器。它采用客户端/服务器模型,发件服务器作为客户端连接收件服务器。
工作流程
- 邮件提交:邮件客户端(MUA,如Outlook)通过SMTP协议(TCP端口465)将邮件提交给邮件提交代理(MSA),MSA再将邮件传递给邮件传输代理(MTA),这一过程可能经多台机器中转。
- MX记录查询:边界MTA通过DNS查询收件人域名的MX(邮件交换器)记录(即邮箱地址中@右侧的部分),MX记录包含目标MTA的地址。发件MTA根据目标主机等因素选择收件服务器并建立连接,完成邮件交换。
- 本地投递:当最终节点的MTA接受邮件后,会将其交给邮件投递代理(MDA)进行本地存储。邮件存储在本地服务器后,供认证后的邮件客户端(MUA)通过IMAP(支持邮件访问与管理)或POP协议(使用传统mbox格式存储)批量检索。
MIME(多用途互联网邮件扩展):扩展了邮件格式,支持非ASCII字符文本,以及音频、视频、图片和应用数据等附件。
端口说明
- 默认端口25:非加密,易被劫持或拦截。
- 推荐端口:使用SSL/TLS加密,如587(TLS)或465(SSL),具体需参考ISP配置。
POP3(邮局协议版本3)
POP3(Post Office Protocol version 3)用于将邮件从服务器下载到本地设备,下载后服务器上的邮件通常会被删除或标记为已读。适用于偶尔通过单一设备查收邮件的用户。其操作是单向的,客户端的操作(如删除邮件)不会同步到服务器。
端口说明
- 默认端口110:非加密。
- 推荐端口:995(SSL加密)。
IMAP(互联网消息访问协议)
IMAP(Internet Message Access Protocol)同样用于接收邮件,与POP3同属邮件检索协议。其核心是允许邮件客户端(如iPhone邮件、Foxmail)从服务器检索邮件信息并下载内容。IMAP设计为双向通信,客户端的操作(如标记星标、移动文件夹)会实时同步到服务器。
端口说明
- 默认端口143:非加密。
- 推荐端口:993(SSL加密)。
总结:协议对比
协议 | 用途 | 传输方向 | 加密端口 | 特点 |
---|---|---|---|---|
SMTP | 邮件发送(服务器间) | 发件端→收件端 | 587/465 | 基于TCP,依赖MX记录,支持多节点中转,需MIME处理复杂内容 |
POP3 | 邮件下载(客户端) | 服务器→客户端 | 995 | 单向同步,下载后默认删除服务器邮件,适合单设备离线使用 |
IMAP | 邮件管理与下载 | 客户端↔服务器 | 993 | 双向同步,支持在线管理邮件(如标签、文件夹),适合多设备实时同步 |
若遇到邮件收发问题,可重点检查:
- 域名DNS是否正确配置MX记录。
- 客户端是否启用对应协议的加密端口(如IMAP的993端口)。
- 防火墙或ISP是否拦截了非加密端口(如25端口)。
如需进一步调试,可参考博客中的完整配置示例:邮件服务与协议。