Postfix别名多邮件传递

我们在这里有一个Postfix服务器,服务于大约70-80个活跃用户。 对于我们在/ etc / aliases中手动pipe理的系统中的所有用户,我们都有一个别名。 有时候,发送给这个所有用户别名的电子邮件由于许多原因被推迟,下面给出一些例子:

Jan 25 12:02:15 mailserver postfix / local [6733]:78D4619014D:to =,relay = local,delay = 1956,delay = 1936 / 0.01 / 0/20,dsn = 4.2.0,status = deferred(无法更新邮箱/ var / spool / mail / user1用户user1。无法创buildlocking文件/var/spool/mail/user1.lock:文件存在)

Jan 25 13:42:14 mailserver postfix / local [10757]:78D4619014D:to =,relay = local,delay = 7954,delay = 7936/0/0/19,dsn = 4.2.0,status = deferred(无法更新邮箱/ var / spool / mail / user2用户user2。无法locking独占访问:资源暂时不可用)

一旦邮件被延期,即使他们已经得到一份副本,它也会被重新发送给别名发送邮件的每个人。 所以偶尔会有一条消息会轮到3到4次,然后才能最终成功地向每个用户发送消息。

有没有人有这个问题的经验,你做了什么来解决这个问题?

您不能使用mbox格式进行并行传送。

local_destination_recipient_limit = 1 #this is default, just remove from main.cf local_destination_concurrency_limit = 1 

如果locking问题仍然存在,那么你有文件系统错误或硬盘驱动器的问题。

当然有一段时间这是一个问题。 十多年前我遇到过类似的问题。 但是这就是为什么有人发明了Maildir,它根本没有这些问题。

在你的情况下,你有一个邮件超过两个小时的延迟。 这是非常糟糕的。 更改您的设置。 即使每天有数百万封邮件,你也只能延迟2秒。 其他一切都是不好的configuration。

我想你使用邮箱而不是Maildir来存储。 所以每次postfix必须写在用户的邮箱文件上,它都会locking它。 如果你有很多同时锁,可能会有一些问题。 你使用交付程序(如procmail,dovecot-lda),或者直接在文件中写postfix? 哪个时间完成交付完成时,它不挂? 你能想到去Maildir格式,这不需要locking文件? 你在像NFS / SMB的networking存储?