后缀:客户端在 milter 和队列后处理中的响应时间?

postfix: timing of client responses in a milter and in after-queue processing?

我目前使用的是 postfix-2.11.3,我正在通过 milter 进行大量消息处理。此处理发生在客户端收到邮件已被接受的通知之前,有时它涉及的工作量很大,以至于延迟客户端收到初始 SMTP 250 2.0.0 Ok: queued as xxxxxxxxxxx 邮件。

在向我的服务器发送大量电子邮件期间,此 milter 处理可能会导致积压,并且在某些情况下,客户端连接会在等待初始 250 ... 消息时超时。

我的问题是:如果我将我的 milter 重写为一个没有队列前处理的后缀队列后过滤器,客户端是否会立即收到初始 250 消息,可能还会收到后续的 SMTP 消息之后?或者 250 消息是否仍会延迟到 postfix 完成队列后过滤之后?

客户端是否可以接收初始 250 消息,随后由同一客户端接收和处理后续 4xx5xx 消息,以防万一队列后过滤器决定随后拒绝消息?

我知道我可以通过编写队列后过滤器来测试它。但是,我的电子邮件服务器很忙,而且我没有可用的测试服务器,所以我想提前知道队列后过滤器是否可以以这种方式运行。

感谢您分享这方面的智慧。

我设法在测试机器上设置了一个后缀实例,并且能够安装一个虚拟的队列后过滤器。这让我找到了问题的答案。事实证明,postfix 确实在 after-queue 过滤器完成之前发送了 250 2.0.0 Ok: queued as xxxxxxxxxxx 消息。

这意味着我确实可以将较慢的 milter 处理移至队列后过滤器,以便为发件人提供更快的 SMTP 响应。