为什么选择Sendmail搭建邮件服务
在Linux系统里折腾邮件服务器,Sendmail绝对是个经典选择。虽然现在有Postfix这些后起之秀,但Sendmail凭借超强的兼容性和大量企业级应用案例,依然是许多运维老手的首选。它像瑞士军刀一样能处理复杂的邮件路由,特别适合需要深度定制化环境的企业场景。想象一下,完全掌控自己的邮件系统,定制过滤规则、搭建邮件网关,甚至做二次开发,Sendmail都能给你足够的折腾空间。

环境准备与基础安装
动手前先检查系统环境:
- 系统要求:CentOS/RHEL 7+或Ubuntu 18.04+,建议用干净系统避免端口冲突
- 关键组件:用
yum install sendmail sendmail-cf m4(RedHat系)或apt install sendmail mailutils(Debian系)一键安装 - 防火墙放行:
firewall-cmd --add-service=smtp --permanent开放25端口
注意:域名解析要提前配置好,比如在DNS里添加mail.yourdomain.com的A记录和MX记录,否则发出去的邮件会被当垃圾邮件。
配置文件核心修改详解
Sendmail的主战场在/etc/mail/目录,这几个文件最关键:
| 文件名 | 作用 | 修改示例 |
|---|---|---|
| sendmail.mc | 主配置模板 | 修改DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl允许外部连接 |
| local-host-names | 域名绑定 | 添加mail.yourdomain.com和yourdomain.com |
| access | 访问控制 | Connect:192.168.1 RELAY允许内网转发 |
改完记得用m4 sendmail.mc > sendmail.cf生成新配置,重启服务才生效!
搞定邮件账户与别名
Sendmail默认用系统账户收发邮件,但通过别名能实现灵活映射:
- 添加系统账户:
useradd -s /sbin/nologin user1 - 编辑
/etc/mail/virtusertable:info@yourdomain.com user1把虚拟邮箱指向真实账户 - 群发功能:在
/etc/mail/aliases添加team: user1,user2,user3
用newaliases命令让配置立即生效,测试时echo "test" | mail -s test user1秒发验证邮件。
加密传输与防垃圾加固
裸奔的SMTP太危险,三步上安全锁:
- TLS加密:生成证书
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/mail/cert.key -out /etc/mail/cert.crt,在sendmail.mc启用define(`confSERVER_SSL_OPTIONS', `...')dnl - 屏蔽垃圾邮件:用
dnl #注释掉TRUST_AUTH_MECH的EXTERNAL选项,关闭开放转发 - 黑名单拦截:在access文件加
Connect:spammer.com REJECT
做完这些,再用telnet mail.yourdomain.com 25测试,发现匿名发信直接被拒就成功了!
实战排错技巧锦囊
遇到邮件发不出别慌,按顺序排查:
- 查看日志:
tail -f /var/log/maillog找关键字”reject”或”fail” - 测试本地发送:
sendmail -bv root@localhost检查本地路由 - 外部连通性:
nc -zv gmail-smtp-in.l.google.com 25测试对外连接 - 常见错误码:550是拒收(检查域名解析),451是临时错误(查服务状态)
小技巧:用
sendmail -d60.5 -q5m开启调试模式,实时观察邮件队列处理流程。
进阶性能调优策略
当用户量上来后,这些优化能让服务器更丝滑:
- 并发控制:修改sendmail.cf的
MaxDaemonChildren值,建议设为核心数×50 - 邮件队列加速:添加
QUEUE_GROUP分组,把大附件邮件单独分配队列 - 反病毒集成:用clamav+clamassassin扫描附件,在sendmail.mc添加
INPUT_MAIL_FILTER调用 - 负载均衡:多台服务器时配置
mailertable实现流量分发
最后用mailq监控队列积压情况,超过100封就该扩容了!
内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。
本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/150144.html