Citát Wietse Venema <wie...@porcupine.org>:

I'm adding a new field to the Postfix queue file that says if a
message was forcibly expired. The field is set with the postsuper
command, using syntax that is similar to other postsuper commands.

The new option behaves like 'delete' except of course that it sets
a flag in a file instead of deleting it.

   -e queue_id
          Expire  one  message  with  the named queue ID in the named mail
          queue(s) (default: hold, incoming, active and deferred).

          This only marks the message as  expired.  The  message  will  be
          returned  to  the  sender  when  the  queue manager opens it for
          delivery (but mail in the  hold  queue  stays  in  that  queue).
          Deferred  messages  are  returned with the actual reason for the
          delay; other messages are returned with the reason  "5.7.0  mes-
          sage is administratively expired".

          To  expire multiple files, specify the -e option multiple times,
          or specify a queue_id of - to read queue IDs from standard input
          (see the -d option for an example).

As implemented, this does not release a file from 'hold'. It only
sets a flag in a queue file. That is the purist approach. However
I suspect that some people would not want to have to say

To delete one file:
        postsuper -e queueid -H queueid

To delete a bunch of files:
        postqueue -pj | script | postsuper -e -
        postqueue -pj | script | postsuper -H -

If the intent of expiration is to make messages 'go away' then it
makes sense that '-e' automagically un-holds a message, so that the
queue manager can return it as undeliverable.

        Wietse



Looks cool! Thank you.


Reply via email to