一、准备工作
sudo apt update && sudo apt upgrade -y确保系统软件包最新。mail.yourdomain.com),并在DNS提供商处添加以下记录:
mail.yourdomain.com指向服务器公网IP;yourdomain.com的MX优先级设为10,指向mail.yourdomain.com。sudo hostnamectl set-hostname mail.yourdomain.com设置主机名;编辑/etc/hosts文件,添加127.0.0.1 mail.yourdomain.com mail。二、安装核心组件
sudo apt install postfix,安装过程中选择“Internet Site”,输入域名(如yourdomain.com)。sudo apt install dovecot-core dovecot-imapd dovecot-pop3d安装IMAP/SMTP服务。spamassassin)、病毒扫描(clamav)和SSL证书工具(certbot):sudo apt install spamassassin clamav certbot。三、配置Postfix
sudo nano /etc/postfix/main.cf,修改以下关键参数(替换yourdomain.com为实际域名):myhostname = mail.yourdomain.com
mydomain = yourdomain.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8 [::1]/128
home_mailbox = Maildir/
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.yourdomain.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.yourdomain.com/privkey.pem
smtpd_tls_security_level = may
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
说明:home_mailbox指定邮件存储路径(Maildir格式);TLS部分配置SSL证书路径;SASL设置启用Dovecot认证。sudo systemctl restart postfix应用配置。四、配置Dovecot
sudo nano /etc/dovecot/dovecot.conf,确保以下参数启用:protocols = imap lmtp
/etc/dovecot/conf.d/10-mail.conf,设置:mail_location = maildir:~/Maildir
/etc/dovecot/conf.d/10-auth.conf,修改:disable_plaintext_auth = no
auth_mechanisms = plain login
/etc/dovecot/conf.d/10-master.conf,添加:service lmtp {
inet_listener lmtp {
port = 24
}
}
sudo systemctl restart dovecot应用配置。五、配置SSL证书(可选但强烈推荐) 使用Let’s Encrypt获取免费SSL证书:
sudo certbot certonly --standalone -d mail.yourdomain.com,按提示完成证书申请。/etc/letsencrypt/live/mail.yourdomain.com/,Postfix和Dovecot会自动读取该路径的证书。六、测试邮件服务器
telnet连接SMTP端口(25),验证邮件发送功能:telnet localhost 25
HELO localhost
MAIL FROM:<test@yourdomain.com>
RCPT TO:<recipient@example.com>
DATA
Subject: Test Email
This is a test email.
.
QUIT
test@yourdomain.com,验证收发邮件。七、安全加固
sudo ufw allow 25/tcp && sudo ufw allow 993/tcp && sudo ufw allow 465/tcp && sudo ufw allow 143/tcp && sudo ufw allow 587/tcp && sudo ufw reload,开放必要端口。/etc/postfix、/etc/dovecot和邮件数据(~/Maildir)。