带压缩包的账单邮件被对方网关退回,退信里写 552 5.3.4 message too large 或者附件类型不被允许。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,收件方网关按扩展名和体积直接拦截,带可执行内容的压缩包和超过十兆的附件基本都过不去。

「邮件附件拦截」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。别只看报错的最后一行,往上看几行,真正的起因通常在上面。

zip -r bill.zip pdf/ -x '*.exe'
ls -lh bill.zip
# 超过 5M 就改发下载链接

同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。

具体做法是,改用链接下载代替直接挂附件;把附件压到五兆以内;去掉 exe 和 js 这类扩展名。

最后用这个标准收尾,附件信能正常投递,退信里的 552 提示不再出现。

作者 9823189