安装Postfix
- 
更新系统包 sudo apt update # Ubuntu/Debian sudo yum update # CentOS/RHEL 
- 
安装Postfix sudo apt install postfix # Ubuntu/Debian sudo yum install postfix # CentOS/RHEL 安装过程中会弹出配置向导: - 选择 Internet Site(默认选项)。
- 输入邮件服务器域名(如 mail.example.com),需与DNS的MX记录匹配。
 
配置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, $mydomain # 接收的域名 mynetworks = 127.0.0.0/8, [::ffff:127.0.0.0]/104, [::1]/128 # 允许本地发送 relayhost = # 留空表示直接投递(非中继) 
- 
安全设置(防止垃圾邮件) 
 在文件末尾添加:smtpd_relay_restrictions = permit_mynetworks, reject_unauth_destination smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination 
启动服务并测试
- 
重启Postfix生效 sudo systemctl restart postfix sudo systemctl enable postfix # 设置开机自启 
- 
检查服务状态 sudo systemctl status postfix # 确认状态为"active (running)" 
- 
发送测试邮件 
 使用mailutils或swaks工具测试:sudo apt install mailutils # Ubuntu/Debian echo "Test mail" | mail -s "SMTP Test" user@example.com 查看日志验证投递: tail -f /var/log/mail.log # Ubuntu/Debian tail -f /var/log/maillog # CentOS/RHEL 
防火墙与端口开放
SMTP默认使用端口 25(明文) 或 587(加密):
sudo ufw allow 25/tcp # Ubuntu防火墙 sudo firewall-cmd --add-port=25/tcp --permanent # CentOS防火墙 sudo firewall-cmd --reload
安全加固建议
- 
启用TLS加密 
 生成证书并配置:sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/ssl/private/postfix.key \ -out /etc/ssl/certs/postfix.crt 在 main.cf中添加:smtpd_tls_cert_file = /etc/ssl/certs/postfix.crt smtpd_tls_key_file = /etc/ssl/private/postfix.key smtpd_use_tls = yes 
- 
禁用开放中继 
 确保mynetworks仅包含可信IP段,避免被滥用。
- 
使用SASL身份验证(对外发件) 
 安装cyrus-sasl并配置账号密码验证。
常见问题排查
- 邮件未送达:检查DNS的MX记录、SPF/DKIM设置。
- 连接被拒绝:确认防火墙是否放行端口25/587。
- 日志分析:
grep 'error\|fatal' /var/log/mail* # 搜索错误信息 
替代方案
- Sendmail:传统MTA,配置复杂(需编辑/etc/mail/sendmail.mc)。
- Exim:轻量级选择,适合小型服务器。
引用说明参考Postfix官方文档(www.postfix.org)及Linux man手册,配置符合安全最佳实践,实际部署时请根据发行版版本调整命令,并优先使用TLS加密通信。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9153.html
 
                 
        