Postfix:按顺序传递邮件

Postfix:按顺序传递邮件

我有一个设置,其中电子邮件的排序很重要(将提交消息传递给 Fediverse 客户端,后者将其转换为 Markdown 并发布)。

在发送方,我有自己的sendmail设置来保留顺序:

define(`confQUEUE_SORT_ORDER', `time')dnl

这导致……

O QueueSortOrder=time

…在结果sendmail.cf文件中。

现在接收方是 Debian 上的 Postfix,然后使用脚本python3-mastodon来发布,触发方式如下/etc/aliases

foouser: |/usr/local/libexec/fooscript

但是,收到的邮件并非foouser按照收到的顺序投递(发送邮件会批量发送消息,并每隔几分钟发送一次,因此当foouser在同一个 SMTP 连接中发送两封(或更多)电子邮件时就会出现此问题。

我如何配置 Postfix 以尽可能保留消息传递的顺序?(我主要是用户sendmail,所以我不知道。)

答案1

即使是“新”后缀队列管理器(在单个目标内)也记录为按预期顺序交付:

也就是说,除非涉及抢占,否则都是先进先出——调度程序自述文件

您需要查看这些设置以全局禁用默认并发(多线程)和抢占(无序)机制:

default_destination_concurrency_limit = 1
default_delivery_slot_cost = 0

记住man 5 postconf按传输方式配置这些。如果该服务器还处理其他邮件,则全局关闭这两项操作会很浪费。

相关内容