how to manage exim message queue


The main exim binary (/usr/sbin/exim) is used with various flags to make things happen to messages in the queue. Most of these require one or more message-IDs to be specified in the command line, which is where `exiqgrep -i` as described above really comes in handy.

Start a queue run:

# exim -q -v

Start a queue run for just local deliveries:

# exim -ql -v

Remove a message from the queue:

# exim -Mrm <message-id> [ <message-id> ... ]

Freeze a message:

# exim -Mf <message-id> [ <message-id> ... ]

Thaw (unfreeze) a message:

# exim -Mt <message-id> [ <message-id> ... ]

Deliver a message, whether it’s frozen or not, whether the retry time has been reached or not:

# exim -M <message-id> [ <message-id> ... ]

Deliver a message, but only if the retry time has been reached:

# exim -Mc <message-id> [ <message-id> ... ]

Force a message to fail and bounce as “cancelled by administrator”:

# exim -Mg <message-id> [ <message-id> ... ]

Remove all frozen messages:

# exiqgrep -z -i | xargs exim -Mrm

Remove all messages older than five days (86400 * 5 = 432000 seconds):

# exiqgrep -o 432000 -i | xargs exim -Mrm

Freeze all queued mail from a given sender:

# exiqgrep -i -f | xargs exim -Mf

View a message’s headers:

# exim -Mvh <message-id>

View a message’s body:

# exim -Mvb <message-id>

View a message’s logs:

# exim -Mvl <message-id>

Add a recipient to a message:

# exim -Mar <message-id> <address> [ <address> ... ]

Edit the sender of a message:

# exim -Mes <message-id> <address>

That’s all….


How useful was this post?

Click on a star to rate it!

Average rating 4 / 5. Vote count: 5

No votes so far! Be the first to rate this post.

Scroll to Top