如何配置Exim仅接收指定主机发来的邮件(多域名场景)
Exim按域名限制仅允许邮件网关投递的解决方案
1. 定义信任的邮件网关IP列表
在Exim主配置文件(通常为/etc/exim.conf或/etc/exim4/exim4.conf)中,添加主机列表变量,将你的邮件网关IP加入其中:
hostlist trusted_gateways = 192.168.1.100 : 10.0.0.5
多个IP用冒号:分隔,填写网关的实际公网/内网IP即可。
2. 配置收件人检查ACL规则
找到配置中的acl_check_rcpt段(收件人验证ACL),在常规收件人有效性检查之前添加拒绝规则:
deny domains = example.com : sub.example.net : your-restricted-domain.org !senders = : postmaster@* !hosts = +trusted_gateways message = This domain only accepts emails from our authorized mail gateway.
规则说明:
domains:指定需要限制的域名集合,按需替换成你的目标域名!senders = : postmaster@*:豁免空发件人(系统退信)和postmaster账号的邮件,避免网关无法返回退信!hosts = +trusted_gateways:如果发件请求不是来自信任网关IP,则触发拒绝message:返回给非法发件方的提示信息,可自定义
3. 验证配置并重启服务
先检查Exim配置语法是否合法:
exim -bV
如果无报错,重启Exim服务使配置生效:
systemctl restart exim
4. 测试规则有效性
- 用非网关IP的机器,通过telnet或swaks工具直接连接Exim的25端口,尝试发送邮件到限制域名,确认收到拒绝提示
- 从邮件网关转发邮件到限制域名,确认邮件能正常投递
内容的提问来源于stack exchange,提问作者Ozgur Erdogan
相关产品推荐
相关产品推荐

