Most Frequently used Commands in Exim
Managing the Mail queue using 'exim' command
#
exim -bpc -Print the total number of mail in mail queue.
#
exim -bp -Print a listing of mails in the queue (time queued, size, message-id, sender, recipient)
#
exim -bp | exiqsumm -Print a summary of messages in the queue (count, volume, oldest, newest, domain, and totals)
#
exiwhat -To print what Exim is doing right now
----------------------------------------------------------------------------------------------------------------------------------
#
exim -Mvh <
message-id>
-To view a message's headers
#
exim -Mvb <
message-id>
-To view a message's body
#
exim -Mvl <
message-id>
-To view a message's logs
#
exim -Mes <
message-id> <
address>
-To edit the sender of a message
#
exim -Mrm <
message-id>
-To remove a message from the queue
#
exim -Mf <
message-id>
-To freeze a message
----------------------------------------------------------------------------------------------------------------------------------
#
exim -bp | awk '$6~"frozen" { print $3 }' | xargs exim -Mrmor
#
exim -bp | grep frozen | awk '{ print $3 }' | xargs exim -Mrm -To remove all frozen mails in the queue
----------------------------------------------------------------------------------------------------------------------------------
To check how exim will route a given address:
#
exim -bt alias@localdomain.com user@thishost.com <-- alias@localdomain.com router = localuser, transport = local_delivery#
exim -bt user@localdomain.com user@localdomain.com router = localuser, transport = local_delivery#
exim -bt user@remotehost.com router = lookuphost, transport = remote_smtp host mail.remotehost.com [1.2.3.4] MX=0=================================================================================
Managing the Mail queue using 'exiqgrep' command
Exim includes a utility called exiqgrep, that is very useful for grepping through the queue.
#
exiqgrep -f user@domain.com -To search the queue for messages from a specific sender
#
exiqgrep -r user@domain.com -To search the queue for messages for a specific recipient/domain
#
exiqgrep -o <
sec>
-To print messages older than the specified number of seconds.
#
exiqgrep -y <
sec>
-To print messages that are younger than the specified number of seconds.
#
exiqgrep -i -To print the message-id of the entire queue
#
exiqgrep -c -To print a count of messages
----------------------------------------------------------------------------------------------------------------------------------
#
exiqgrep -zi | xargs exim -Mrm#
exim -bpr | grep frozen | awk {'print $3'} | xargs exim -Mrm -To remove all frozen messages
#
exiqgrep -o 86400 -i | xargs exim -Mrm -To remove all messages older than 1 day.
#
exiqgrep -i -f user@domain.com | xargs exim -Mf -To freeze all queued mail from a given sender
#
exiqgrep -i -f '<>' | xargs exim -Mrm -To remove all mail delivery failure mails.
Reference:-
http://bradthemad.org/tech/notes/exim_cheatsheet.php