====== Quick & Dirty Exim Management ======
Below are some shell commands that can be used to manage Exim and it's email queue. The commands listed below must be run as root.
==== Managing Exim Itself ====
Start/Stop/Restart Exim
/etc/init.d/exim start|stop|restart
Print what Exim is doing right now
exiwhat
Test how exim will route a given email address
exim -bt email@address.tld
Generate and display Exim stats from a logfile
eximstats /path/to/exim_mainlog
Run a pretend SMTP transaction from the command line, as if it were coming from the given IP address. This will display Exim’s checks, ACLs, and filters as they are applied. Replace x.x.x.x with the IP you want to use as the source
exim -bh x.x.x.x
Display all of Exim’s configuration settings
exim -bP
==== Queue Information ====
Print a count of messages in the queue
exim -bpc
Print a listing of the messages in the queue (time queued, size, message-id, sender, recipient)
exim -bp
Print a summary of messages in the queue (count, volume, oldest, newest, domain, and totals)
exim -bp | exiqsumm
==== Searching the Queue ====
Search the queue for messages from a specific sender
exiqgrep -f [user]@domain
Search the queue for messages for a specific recipient/domain
exiqgrep -r [user]@domain
Print just the message-id as a result of one of the above two searches
exiqgrep -i [ -r | -f ] ...
Print a count of messages matching one of the above searches
exiqgrep -c [ -r | -f ] ...
Print just the message-id of the entire queue
exiqgrep -i
==== Viewing Messages In The Queue ====
View a message's headers:
exim -Mvh
View a message's body:
exim -Mvb
View a message's logs:
exim -Mvl
==== Queue Management ====
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
Remove all messages older than X seconds from the queue(for example 5 days would be 432000 seconds)
exiqgrep -o 432000 -i | xargs exim -Mrm
Freeze all queued mail from a sender
exiqgrep -i -f email@address.tld | xargs exim -Mf
View a queued message's header
exim -Mvh
View a queued message's body
exim -Mvb
View a queued message's log
exim -Mvl
Remove all messages from the queue (usually a bad idea)
exiqgrep -i | xargs exim -Mrm
{{tag>how-to exim smx}}