编辑用于释放被Mailscanner阻止的邮件的exim4 Message-ID

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

例如:

077I消息ID:<[email protected]>

– >

077I消息ID:<[email protected]>

我想写一个脚本来发布邮件。 我在Message-ID字段中更改了“<”和“@”之间的部分,并replace了一个散列值,使得Message-ID如下所示:

077I消息ID:<[email protected]>

现在exim在日志中显示“格式错误”,邮件没有被释放。 除了这一个领域之外,没有任何变化。

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

在行首看到“077I”? “我”是一个标题标志,你不应该改变这一点。 但“077”是该标题中的字节数。 由于您正在更改字符数而不更改计数,Exim将其视为格式错误。

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

标题可能占用文件的多行,为了节省阅读时的工作量,每个标题前面都有一个数字和一个标识字符。 数字是标题中的字符数,包括embedded的换行符和终止换行符。

更新数字以反映新的字符数,你应该没问题。

如果您的系统pipe理员团队正在修改消息ID,我会感到惊讶。

要发布一个冻结的邮件,你只需要用-M选项运行exim 。 这将使用mailq命令显示的exim消息标识列表。 您也可以通过从头文件名称中删除-H来获得消息ID。