====== 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}}