✉️ 构建邮件服务器的旅程,已走到 Dovecot 配置的核心部分!
您在上一篇文章中查看了 Dovecot 的配置文件结构了吗?现在是时候进入实战了。
📌 如果您还没有查看之前的文章,建议先阅读。
👉 在 Linux 上构建邮件服务器 #3:Dovecot 配置文件结构及应用方式
在本文中,我们将一一分析邮件服务器运营所必需的 Dovecot 的 4 个配置文件,并整理出考虑到虚拟用户环境和 Postfix 联动的实用设置方法.
🚀 Dovecot 必需配置文件 4 个
Dovecot 的配置文件很多,一开始可能会让人感到头疼。但只要正确理解这 4 个配置文件,就能够基本运营邮件服务.
配置文件 | 角色 |
---|---|
10-auth.conf |
用户认证 (Authentication) 设置 |
10-mail.conf |
邮件存储 (邮箱) 设置 |
10-master.conf |
服务进程 (IMAP、POP3、LMTP 等) 设置 |
10-ssl.conf |
TLS/SSL 加密设置 |
我们将逐个查看这些配置文件并应用考虑到虚拟用户环境和 Postfix 联动的设置.
🛠️ Dovecot 安装时生成的 vmail
用户
首次安装 Dovecot 时,会自动生成一个名为 vmail
的专用用户和组 (UID/GID 5000).
这个用户负责存储和管理邮件数据,并不是系统账号,而是专门处理邮件的账号。
🔍 如何确认 vmail
用户
在终端中运行以下命令进行确认。
id vmail
输出示例:
uid=5000(vmail) gid=5000(vmail) groups=5000(vmail)
或者可以在 /etc/passwd
文件中直接搜索。
grep vmail /etc/passwd
如果 vmail
用户不存在,则需要手动创建,命令如下:
sudo groupadd -g 5000 vmail
sudo useradd -u 5000 -g vmail -s /sbin/nologin -d /var/mail vmail
✅ 现在可以利用 Dovecot 配置中的 vmail
用户来存储邮件了!
1️⃣ 10-auth.conf
- 用户认证设置
此文件是决定用户认证方式的非常重要的配置文件。
特别是我们计划建立虚拟用户 (Virtual User) 环境, 因此需要考虑到这些设置。
📌 重要设置要点
- 以虚拟用户方式 (数据库联动) 进行认证
- 激活 PLAIN 和 LOGIN 方式认证 (在 SSL 环境中安全使用)
- 使用数据库进行认证,而不是系统账号 (/etc/passwd)
🔹 配置文件示例 (/etc/dovecot/conf.d/10-auth.conf
)
disable_plaintext_auth = yes
auth_mechanisms = plain login
!include auth-sql.conf.ext
💡 说明
disable_plaintext_auth = yes
→ 仅在使用 SSL 时允许明文认证auth_mechanisms = plain login
→ IMAP、POP3 中最常用的认证方式!include auth-sql.conf.ext
→ 设置信息从数据库获取
✍ 即,Dovecot 不直接使用像 /etc/passwd
的系统账号,而是配置为通过 MySQL 等数据库进行认证。
在下一篇文章中,我们将详细讨论 auth-sql.conf.ext
文件!
2️⃣ 10-mail.conf
- 邮件存储设置
这是决定邮件实际存储位置的配置文件。通常会与 Postfix 关联以 Maildir 格式存储.
📌 重要设置要点
- 使用 Maildir 格式
- 设置虚拟用户的邮件存储路径
- 设置邮政权权限
配置文件示例 (/etc/dovecot/conf.d/10-mail.conf
)
mail_home = %h
mail_location = maildir:%h/Maildir
namespace inbox {
inbox = yes
}
mail_uid = vmail
mail_gid = vmail
mail_privileged_group = mail
💡 说明
mail_home = %h
→ 使用虚拟用户的主目录 (将在数据库中直接指定路径)mail_location = maildir:%h/Maildir
→ 以 Maildir 方式存储邮件mail_uid
,mail_gid
→ 使用专用的邮件存储用户 (vmail
)namespace inbox { inbox = yes }
→ 指定为主邮箱 (收件箱)
✍ 即,用户的邮件将通过专门的 vmail
账号进行管理,而不是由特定的系统账号管理。
3️⃣ 10-master.conf
- 服务进程设置
这是设置 Dovecot 提供的服务 (IMAP、POP3、LMTP 等) 的文件。
特别是我们计划与 Postfix 联动使用 LMTP (本地邮件传输协议),因此需要启用它。
📌 重要设置要点
- 启用 LMTP (与 Postfix 联动)
- 设置认证套接字 (将 Postfix 配置为使用 Dovecot 的认证)
🔹 配置文件示例 (/etc/dovecot/conf.d/10-master.conf
)
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
unix_listener auth-userdb {
mode = 0600
user = vmail
group = vmail
}
client {
path = /run/dovecot/auth-client
}
}
💡 说明
- 启用 LMTP (service lmtp)
- Postfix 在将邮件发送到 Dovecot 时使用
dovecot-lmtp
套接字 - Postfix 与 Dovecot 的认证联动 (service auth)
- 将 Postfix 配置为能够通过
/var/spool/postfix/private/auth
套接字获取 Dovecot 的认证信息
✍ 即,Postfix 将通过 Dovecot 处理用户认证,并通过 LMTP 联动邮件传递。
4️⃣ 10-ssl.conf
- TLS/SSL 加密设置
邮件服务器必须加密!此文件用于通过 SSL/TLS 设置来增强安全性.
📌 重要设置要点
- 启用 SSL/TLS 加密
- 可使用 Let’s Encrypt 或自签名证书
📌 ⚠️ 此文中省略了获取 SSL 证书的过程。
假设您已经为域名获取了证书,您可以使用 Let’s Encrypt、自签名证书或商用证书。
配置文件示例 (/etc/dovecot/conf.d/10-ssl.conf
)
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
💡 说明
ssl = required
→ SSL 是必需的ssl_cert
,ssl_key
→ 使用 Let’s Encrypt 证书进行加密
✍ 即,确保客户端不能在未加密的情况下访问,并通过 TLS 增强安全性。
🏁 总结
✅ 本文中讨论的 Dovecot 必需配置文件 4 个
- 10-auth.conf → 用户认证方式 (应用基于数据库的虚拟用户环境)
- 10-mail.conf → 邮件存储路径及权限设置 (mail_home = %h
应用)
- 10-master.conf → 与 Postfix 联动的 LMTP 和认证服务设置
- 10-ssl.conf → SSL/TLS 安全设置 (Let's Encrypt 配置省略)
只要准确理解这些设置,就可以配置与 Postfix 联动的邮件收发环境。 下一篇将讨论虚拟用户环境所需的数据库设置 (auth-sql.conf.ext
)! 🚀
阅读上一篇或邮件服务器构建系列的其他文章!请在底部的“类似文章”或右上角的搜索框中搜索“dovecot”、“mail”!
댓글이 없습니다.