编辑 exim4 Message-ID 以通过 Mailscanner 释放被阻止的邮件

编辑 exim4 Message-ID 以通过 Mailscanner 释放被阻止的邮件

我们的系统管理员团队编辑 exim4 头文件中的 Message-ID 字段(以 -H 结尾)并替换“<”后的第一个字符。

例如:

077I 消息 ID:<[电子邮件保护]>

-->

077I 消息 ID:<[电子邮件保护]>

我想编写一个脚本来发布邮件。我更改了 Message-ID 字段中“<”和“@”之间的部分,并替换了一个哈希值,因此 Message-ID 如下所示:

077I 消息 ID:<[电子邮件保护]>

现在 exim 在日志中显示“格式错误”,邮件未发送。除了这个字段外,没有任何变化。

为什么不能这样替换 ID?它需要完全相同的长度吗?它是 exim4 版本 4.69-2ubuntu0.3。

答案1

看到行首的“077I”了吗?“I”是标头标志,您不应该更改它。但“077”是该标头中的字节数。由于您更改了字符数而不更改计数,因此 Exim 将其视为格式错误。

http://exim.org/exim-html-current/doc/html/spec_html/ch55.html

一个文件头可能占据文件的几行,为了节省读取时的工作量,每个文件头前面都有一个数字和一个标识字符。该数字是文件头中的字符数,包括任何嵌入的换行符和终止换行符。

更新数字以反映新的字符数,这样就没问题了。

答案2

如果您的系统管理团队正在破坏消息 ID,我会感到惊讶。

要释放冻结的电子邮件,您只需使用exim该选项运行。这将获取命令所示的消息 ID-M列表。您还可以通过从头文件名中删除来获取消息 ID。eximmailq-H

相关内容