在 Debian 上搭建邮件服务器通常涉及 Postfix(MTA)+ Dovecot(IMAP/POP3)+ 数据库/本地用户 + TLS。下面我给你一个从零开始的实用方案,适合个人或小团队使用。
example.com)example.com → A 记录mail.example.com → A 记录mail.example.comsudo apt update
sudo apt install postfix dovecot-core dovecot-imapd dovecot-pop3d \
mailutils ca-certificates
安装 Postfix 时选择:
example.comsudo nano /etc/postfix/main.cf
关键配置示例:
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# TLS
smtpd_tls_cert_file = /etc/ssl/certs/mail.crt
smtpd_tls_key_file = /etc/ssl/private/mail.key
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
# SASL
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
# 限制
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination
sudo nano /etc/dovecot/dovecot.conf
protocols = imap pop3
sudo nano /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
sudo nano /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
auth_mechanisms = plain login
sudo nano /etc/dovecot/conf.d/10-master.conf
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}
sudo adduser user1
用户家目录自动有 Maildir
测试发信:
echo "test" | mail user1@example.com
sudo ufw allow 25,465,587,143,993,110,995/tcp
example.com TXT
v=spf1 mx ~all
apt install opendkim opendkim-tools
_dmarc.example.com TXT
v=DMARC1; p=none
telnet mail.example.com 25
或用邮件客户端:
mail.example.com 993mail.example.com 587如果你不想手动配置:
❌ 25 端口被云厂商封
❌ 没有 PTR 反向解析
❌ 没配置 SPF/DKIM
❌ 使用自签名证书(客户端报错)
如果你愿意,我可以:
你打算用在什么场景?(个人 / 公司 / 测试)