在 Debian 上搭建邮件服务器通常涉及多个组件和配置项。下面从整体架构、必要组件、关键配置、安全与维护几个方面说明。
一个完整的邮件服务器通常包括:
| 功能 | 常用软件(Debian) |
|---|---|
| MTA(发信/收信) | Postfix |
| MDA(投递) | Dovecot / Procmail |
| IMAP/POP3 | Dovecot |
| 数据库(虚拟用户) | MySQL / MariaDB / PostgreSQL |
| 反垃圾邮件 | SpamAssassin |
| 防病毒 | ClamAV |
| 认证 | Dovecot SASL / PAM |
| 防火墙 | nftables / ufw |
hostnamectl set-hostname mail.example.com
DNS 必须正确配置:
mail.example.com → 服务器IPexample.com → mail.example.comapt update
apt install postfix dovecot-core dovecot-imapd dovecot-pop3d \
mariadb-server postfix-mysql
/etc/postfix/main.cf关键项示例:
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
# 虚拟用户
virtual_mailbox_domains = example.com
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_transport = dovecot
# TLS
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
# SASL
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
/etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
mail_location = maildir:/var/mail/vhosts/%d/%n
/etc/dovecot/conf.d/10-auth.conf
auth_mechanisms = plain login
!include auth-sql.conf.ext
service imap-login {
inet_listener imap {
port = 143
}
}
groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /var/mail
目录权限:
chown -R vmail:vmail /var/mail
v=spf1 mx -allv=DMARC1; p=quarantineapt install spamassassin
ufw allow 25,143,465,587,993,995/tcp
postfix check
dovecot -n
telnet localhost 25
openssl s_client -connect mail.example.com:465
日志位置:
/var/log/mail.log/var/log/mail.err如果你愿意,我可以:
你打算用在什么环境?