1. 准备工作
确保服务器具备公网IP地址(或通过SSH反向隧道配置间接远程访问),并拥有有效域名(如mail.example.com,需指向服务器IP)。同时,完成域名DNS解析:添加A记录(mail.example.com指向服务器IP)和MX记录(example.com指向mail.example.com,优先级设为10)。
2. 安装Postfix(MTA,邮件传输代理)
Postfix是Debian下常用的邮件传输代理,负责邮件收发。执行以下命令安装:
sudo apt update && sudo apt install postfix -y
安装过程中,系统会提示选择配置类型,推荐选择Internet Site(适用于公开邮件服务器),并填写邮件域名(如example.com)。
3. 配置Postfix允许远程访问
编辑Postfix主配置文件/etc/postfix/main.cf,修改以下关键参数:
sudo nano /etc/postfix/main.cf
myhostname = mail.example.com # 邮件服务器主机名
mydomain = example.com # 邮件域名
myorigin = $mydomain # 发送邮件时的发件域
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8, 192.168.1.0/24 # 允许的中继网络(可根据需求调整)
smtpd_sasl_type = dovecot # 使用Dovecot提供SASL认证
smtpd_sasl_path = private/auth # Dovecot认证套接字路径
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous # 禁止匿名认证
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
保存文件后,重启Postfix使配置生效:
sudo systemctl restart postfix
4. 安装Dovecot(IMAP/SMTP服务器)
Dovecot提供IMAP/SMTP协议支持,允许邮件客户端(如Outlook、Thunderbird)远程访问邮箱。执行以下命令安装:
sudo apt install dovecot-imapd dovecot-pop3d -y
安装完成后,编辑Dovecot配置文件/etc/dovecot/conf.d/10-auth.conf,启用明文认证(需配合SSL/TLS使用,后续步骤会配置):
sudo nano /etc/dovecot/conf.d/10-auth.conf
修改以下参数:
disable_plaintext_auth = no # 允许明文认证(仅用于测试,生产环境建议启用SSL后设为yes)
auth_mechanisms = plain login # 支持的认证机制
再编辑/etc/dovecot/conf.d/10-mail.conf,设置邮件存储路径(与Postfix一致):
mail_location = mbox:/var/mail/%u # 邮件存储在/var/mail/用户名目录下
保存文件后,重启Dovecot:
sudo systemctl restart dovecot
5. 配置防火墙开放端口
使用ufw(Uncomplicated Firewall)开放邮件服务所需端口:
执行以下命令:
sudo ufw allow 25/tcp # SMTP
sudo ufw allow 465/tcp # SMTPS
sudo ufw allow 143/tcp # IMAP
sudo ufw allow 993/tcp # IMAPS
sudo ufw allow 110/tcp # POP3
sudo ufw allow 995/tcp # POP3S
sudo ufw enable # 启用防火墙
6. 配置SSL/TLS加密(提升安全性)
为避免邮件传输被窃听,需为Postfix和Dovecot配置SSL/TLS证书。推荐使用Let’s Encrypt免费获取证书:
sudo apt install certbot python3-certbot-postfix python3-certbot-dovecot -y
为Postfix申请证书:
sudo certbot --postfix -d mail.example.com
为Dovecot申请证书(Let’s Encrypt会自动复用Postfix的证书,无需重复申请):
sudo certbot --dovecot -d mail.example.com
证书申请完成后,Postfix和Dovecot会自动加载证书。无需手动修改配置文件(默认路径为/etc/letsencrypt/live/mail.example.com/)。
7. 创建邮件用户并测试
创建系统用户作为邮件账户(如mailuser):
sudo adduser mailuser
设置强密码(遵循密码策略,包含大小写字母、数字和特殊字符)。
使用邮件客户端(如Thunderbird)配置账户:
mail.example.com;mailuser/设置的密码;8. 安全增强措施
/etc/ssh/sshd_config,设置PermitRootLogin no,重启SSH服务:sudo systemctl restart ssh
ssh-keygen -t rsa),将公钥复制到服务器(ssh-copy-id remoteuser@mail.example.com),并在/etc/ssh/sshd_config中设置PubkeyAuthentication yes、PasswordAuthentication no,重启SSH服务。sudo apt update && sudo apt upgrade -y,修补安全漏洞。/etc/postfix/main.cf中的mynetworks设置为仅允许信任的IP段(如公司内网),减少中继风险。