CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
DevOps 网络与邮件/课时/IMAP 与 POP3
RawBlame
课时目录12 节

DevOps 网络与邮件

  1. 01网络与运维基础
  2. 02OSI 与分层
  3. 03SSH 远程管理
  4. 04FTP 与 SFTP
  5. 05SMTP 发信
  6. 06IMAP 与 POP3
  7. 07邮件认证
  8. 08编辑器与文本处理
  9. 09版本控制回顾
  10. 10编程语言选型
  11. 11邮件运维排障
  12. 12综合练习

IMAP 与 POP3

imap、pop3s;收信协议。

25 分钟

IMAP 与邮件收取协议

IMAP(Internet Message Access Protocol)让邮件客户端 在服务器上同步文件夹、标记已读、搜索历史——适合多设备(手机 + 电脑)场景。POP3 则倾向「下载到本地后删除服务器副本」,适合单设备。运维邮箱、告警归档、工单系统通常用 IMAP。本课衔接 dnm-smtp,端口与 TLS 见 networking-essentials,DNS MX 见 dns-essentials,服务器见 linux-essentials,配置管理见 git-essentials。

学习目标

  • 对比 IMAP vs POP3 的行为差异与选型
  • 说出 IMAP 端口 143 / 993 及 TLS 配置
  • 用 openssl 或 curl 测试 IMAP 登录与会话

IMAP vs POP3

IMAPPOP3
邮件存储服务器为主下载到本地
多设备同步✅ 文件夹/已读同步❌ 易冲突
端口143 / 993110 / 995
DevOps 场景运维共享邮箱、归档单节点拉取日志邮件
IMAP 993 会话
  Client ──TLS──► Dovecot:993
  Client: SELECT INBOX
  Client: FETCH 1 BODY[]
  Server: 返回邮件正文(留在服务器)

端口与加密

端口说明
143明文 IMAP,可 STARTTLS 升级
993IMAPS,隐式 TLS(生产推荐)
# 测试 IMAPS 连接
openssl s_client -connect imap.example.com:993 -quiet
# a1 LOGIN ops@example.com password
# a2 LIST "" "*"
# a3 SELECT INBOX
# a4 FETCH 1 ENVELOPE
# a5 LOGOUT

Dovecot 最小配置(示意)

/etc/dovecot/dovecot.conf 或 conf.d/10-mail.conf:

protocols = imap pop3
mail_location = maildir:~/Maildir
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem

/etc/dovecot/conf.d/10-auth.conf:

disable_plaintext_auth = yes
auth_mechanisms = plain login
sudo doveadm pw -s SHA512-CRYPT   # 生成密码哈希
sudo systemctl enable --now dovecot
ss -tlnp | grep dovecot           # 应看到 :993 :995

证书申请与 dns-essentials 的 A 记录、mail.example.com 解析相关。

客户端配置示例

Thunderbird / Outlook / 手机邮件 App:

收件 (IMAP)
  服务器: imap.example.com
  端口:   993
  加密:   SSL/TLS
  用户名: ops@example.com

发件 (SMTP)
  服务器: smtp.example.com
  端口:   587
  加密:   STARTTLS
  认证:   是

运维场景:告警邮件归档

# imapfetch 或 mbsync 同步邮箱到本地(备份/审计)
mbsync ops@example.com
# ~/.mbsyncrc 配置 IMAP 账户与本地 Maildir

配合 git-essentials 管理 mbsync 配置;敏感凭据放环境变量或密钥管理器。

排障

现象可能原因
认证失败用户名需完整邮箱;密码哈希算法不匹配
证书错误CN/SAN 不含 imap 主机名;Let's Encrypt 未续期
连接超时防火墙未开 993;云安全组限制
文件夹为空mail_location 路径错误;权限问题
sudo journalctl -u dovecot -f
sudo doveadm auth test ops@example.com password

练习

  • 用 openssl s_client 连接 IMAP 993,执行 LOGIN + SELECT INBOX
  • 写一张 IMAP vs POP3 对照表,说明 DevOps 共享邮箱应选哪个
  • 在邮件客户端配置 IMAP 收 + SMTP 发,完成一封往返测试

小结

IMAP = 服务器端邮件同步,多设备运维邮箱首选;生产用 993 + TLS。 下一课讲 SPF/DKIM/DMARC——邮件认证与反垃圾。

加载本节练习…
← 上一课SMTP 发信下一课 →邮件认证