Exim MTA on UNIX Systems (Concise Guide)
Exim is the default Mail Transfer Agent (MTA) in many UNIX systems. It is open-source and distributed under the GNU General Public License. Exim is widely used for mail routing, spam detection, and monitoring bulk email activity. Its configuration differs slightly from other MTAs, but it's simple to manage.
Common Exim Commands
-
Queue message count:
exim -bpc
-
List queued messages:
exim -bop
-
Queue summary (count, size, domains, etc.):
exim -bp | exiqsumm
-
Show Exim’s current tasks:
exiwhat
-
View configuration settings:
exim -bP
Exiqgrep – Mail Queue Search Tool
Exiqgrep simplifies pattern-based searches in the Exim mail queue.
-
Messages from sender:
exiqgrep -f user@domain.com
-
Messages to recipient/domain:
exiqgrep -r user@domain.com
-
Older than (seconds):
exiqgrep -o 74000
-
Younger than (seconds):
exiqgrep -y 3600
-
Print only message IDs:
exiqgrep -i -r|-f
-
Count matching messages:
exiqgrep -c
Mail Queue Management
-
Start queue run:
exim -q -v
-
Remove message(s):
exim -Mrm <message-id>
-
Freeze message:
exim -Mf <message-id>
-
Throw message:
exim -Mt <message-id>
-
Force delivery:
exim -M <message-id>
-
Deliver if retry time reached:
exim -Mc <message-id>
-
Bounce as admin-cancelled:
exim -Mg <message-id>
-
Remove all frozen messages:
exiqgrep -z -i | xargs exim -Mrm
-
Remove messages older than N days:
exiqgrep -o 432000 -i | xargs exim -Mrm
-
Freeze all from a specific sender:
exiqgrep -i -f user@example.com | xargs exim -Mf
-
View message header:
exim -Mvh <message-id>
-
View message body:
exim -Mvl <message-id>
-
Add recipient to message:
exim -Mar <message-id> <address>
-
Edit message sender:
exim -Mes <message-id> <address>
Let me know if you'd like this in table format or with descriptions beside each command.