On 1/16/2020 6:06 AM, Wietse Venema wrote:
Viktor Dukhovni:
Therefore, if this were to be made possible, the right mechanism would
be to to somehow expedite message expiration, with normal processing
on message expiration happening earlier than it would otherwise.
I have a list of alternatives. The more reasonable ones reuse the
parallized expiration code in the queue manager, instead of duplicating
it in the non-parallized postsuper command.
This could be done by adding a place-holder record to the queue file,
that could be later atomically (one byte write) updated to indicate
that the message is administratively expired. Such messages would
expire after the next delivery attempt and would not be deferred
again.
It can also be done by atomically updating an existing flag in the
size record. That means the postsuper command needs to be careful,
but it can be done.
Wietse
Just to add another data point, I too have wanted to expire a message
from queue for one reason or another over the years and was surprised
that postsuper did not allow such action. I find the action of bouncing
a message to be closer to the spirit of SMTP than deletion.