Ubuntu 20.04服务器配置Exim4自动添加全局BCC的问题求助
Ubuntu 20.04服务器配置Exim4自动添加全局BCC的问题求助
嗨,我完全理解你刚从Postfix转用Exim4的困惑——毕竟两者配置逻辑差异不小,尤其是Ubuntu默认的Split配置模式很容易让人踩坑。让我一步步帮你排查并解决全局BCC的配置问题:
先纠正你配置里的关键疏漏
配置文件命名错误
你提到创建了/etc/exim4/conf.d/main/nano 95_zane,这应该是用nano编辑时的误写,正确的文件名必须是/etc/exim4/conf.d/main/95_zane(不能带空格),否则Exim无法识别并加载这个配置片段。Split模式下必须生成主配置
Ubuntu的Exim4默认采用Split配置,所有conf.d里的片段会被合并成/var/lib/exim4/config.autogenerated作为实际运行的配置文件。你之前只重启了服务,却没生成新的主配置,导致你的system_filter配置根本没生效。运行以下命令生成配置:sudo update-exim4.conf
调整过滤规则(满足全局BCC需求)
你当前的过滤条件会排除所有涉及example.com的邮件,但你需要的是所有外发邮件都自动添加BCC,同时避免归档邮件循环。修改/etc/exim4/exim.filter为:
if first_delivery and not ("$recipients" contains "archive@example.com") then unseen deliver "archive@example.com" endif
规则说明:
first_delivery:确保规则只在邮件首次投递时执行,防止归档邮件被重复归档造成死循环。not ("$recipients" contains "archive@example.com"):避免把发给归档地址本身的邮件再次归档。unseen deliver:在不干扰原邮件投递流程的前提下,悄悄添加BCC收件人,原收件人完全不会察觉这一操作。
确保过滤文件权限正确
Exim以Debian-exim用户身份运行,需要拥有过滤文件的读取权限,执行以下命令设置权限:
sudo chown Debian-exim:Debian-exim /etc/exim4/exim.filter sudo chmod 640 /etc/exim4/exim.filter
最后重启Exim4服务
完成以上步骤后,重启服务使配置生效:
sudo systemctl restart exim4
现在你可以用PHP应用或sendmail命令发送测试邮件,验证归档地址是否能收到BCC邮件,同时原收件人的收件体验不受任何影响。
备注:内容来源于stack exchange,提问作者Dr. Gianluigi Zane Zanettini
相关产品推荐
相关产品推荐

