On Fri, Nov 19, 2010 at 12:49:36AM +0100, Patrick Ben Koetter wrote:
> I know I can put a transport to hold if I specify its name in
> $defer_transports.
Don't confuse "hold" and "defer".
> This requires "postfix reload" to put it to effect
> immediately and issuing the reload will requeue all mail - not what I want if
> I can avoid it.
>
> Could I specify hold: in my transport map? AFAIK Postfix processes will not
> the map has changed and re-read it and the hold: would fade in quickly.
Mail enters the "hold" queue only via cleanup(8) or postsuper(1). The
"hold" queue contains *messages*, transports deliver (groups of)
recipients.
You can get new *messages* to be held, but mail already in the (active
or deferred) queues does not go through cleanup again.
If you specify a non-existent transport, in the transport table, and
don't get too annoyed by the warnings, you can get the *effect* of
"defer_transports", without reloading, for mail that is not yet active.
If you are willing to reload later (when you want to re-enable
the transport) a drastic step is to delete the transport socket in
/var/spool/postfix/private/, the transport won't work until you
reload, and you can't bring it back any other way if you do that.
--
Viktor.