在Debian上配置Postfix和Dovecot邮件系统✨
搭建一个邮件系统吧~用 Postfix 处理 SMTP 邮件发送,搭配 Dovecot 提供 POP3 和 IMAP 服务,支持 SASL 加密认证和虚拟账号哦!主域名用 mail.mxdx.com
1. 安装Postfix,开启邮件之旅💻
先更新系统,然后安装 Postfix:
apt update apt install postfix
安装过程会包含
postfix
和ssl-cert
,并推荐安装procmail
、postfix-mysql
、postfix-pcre
、sasl2-bin
、dovecot-common
和resolvconf
等。配置时选择邮件服务器类型:
- No configuration:保留现有配置。
- Internet Site(推荐):通过 SMTP 直接收发邮件。
- Internet with smarthost:接收邮件用 SMTP 或 fetchmail,发送走 smarthost。
- Satellite system:所有邮件转发到 smarthost 处理。
- Local only:仅限本地用户邮件,不联网。
我们选 Internet Site,简单好用!
设置系统邮件名称为
mail.mxdx.com
。
2. 安装Dovecot,解锁POP3和IMAP💌
安装 Dovecot 的 POP3 和 IMAP 服务:
apt install dovecot-pop3d dovecot-imapd
安装的软件包包括
dovecot-core
、dovecot-imapd
、dovecot-pop3d
、libexttextcat
、libexttextcat-data
、liblua
、libsodium
和libstemmer0d
。
3. 启动服务,点亮邮件系统🌟
启动 Postfix 和 Dovecot 服务:
service postfix start service dovecot start
检查邮件相关端口是否开启:
ss -lntup
预期开放的端口:
- 25:SMTP(Postfix)
- 110:POP3(Dovecot)
- 143:IMAP(Dovecot)
- 993:IMAPS(加密 IMAP)
- 995:POP3S(加密 POP3)
4. 测试Postfix,发送一封小邮件试试💌
配置
192.168.0.0/24
网段内的所有设备可以直接通过该邮件服务器发送邮件,而无需提供用户名密码。sudo postconf -e "mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24"
如若不执行会报错误
454 4.7.1 <haruka@mxdx.com>: Relay access denied
是SMTP服务器拒绝转发邮件的常见错误为什么需要这样配置?
- 默认情况下,Postfix 仅允许本机(
127.0.0.1
)发信,其他IP(包括同一局域网的设备)会被拒绝并报错Relay access denied
。 - 此命令扩展了信任范围,使
192.168.0.0/24
网段也能直接发信。
- 默认情况下,Postfix 仅允许本机(
用 telnet 测试 SMTP 服务:
telnet mail.mxdx.com 25
示例交互:
220 mail.mxdx.com ESMTP Postfix (Debian/GNU) mail from: sakura@mail.mxdx.com 250 2.1.0 Ok rcpt to: haruka@mail.mxdx.com 250 2.1.5 Ok data 354 End data with . 嗨,这是一封测试邮件~ . 250 2.0.0 Ok: queued as AF0B742C0788 quit 221 2.0.0 Bye
检查邮件存储文件:
cat /var/mail/haruka
确认邮件内容已保存,说明 Postfix 运行正常。
5. 测试Dovecot,检查邮件箱吧📬
修改 Dovecot 配置,允许明文认证(仅用于测试,正式环境请用加密):
nano /etc/dovecot/conf.d/10-auth.conf
添加:
disable_plaintext_auth = no
重启 Dovecot 服务:
service dovecot restart
用 telnet 测试 POP3 服务:
telnet mail.mxdx.com 110
示例交互:
+OK Dovecot (Debian) ready. user haruka +OK pass 123456 +OK Logged in. list +OK 2 messages: 1 308 2 304 . retr 1 +OK 308 octets Return-Path: X-Original-To: sakura@mail.mxdx.com Delivered-To: haruka@mail.mxdx.com Received: from unknown (unknown [192.168.11.131]) by mail.mxdx.com (Postfix) with SMTP id AF0B742C0788 for ; Sat, 11 Jun 2022 08:44:09 +0800 (CST) 嗨,这是一封测试邮件~ . retr 2 +OK 304 octets Return-Path: X-Original-To: sakura@mxdx.com Delivered-To: haruka@mxdx.com Received: from unknown (unknown [192.168.11.131]) by mail.mxdx.com (Postfix) with SMTP id 0C23742C097C for ; Sat, 11 Jun 2022 08:49:48 +0800 (CST) abc ddd . quit +OK Logging out.
确认能读取邮件,说明 Dovecot 运行正常。
邮件位于邮件服务器的/var/mail
目录下
6. 默认行为小贴士💡
- 邮箱账号:默认使用系统用户的用户名和密码。
- Root 用户:默认不开放,可手动修改配置启用。