Receive all updates via Facebook. Just Click the Like Button Below

Exim - The Mail Transfer Agent

Exim is an open source mail transfer agent (MTA), which is a program responsible for receiving, routing, and delivering e-mail messages. MTAs receive e-mail messages and recipient addresses from local users, remote hosts and deliver the messages to their destinations.

Exim was developed in 1995, by Philip Hazel at the University of Cambridge for the use of Unix systems connected over the Internet. The software feature more straightforward configuration and task management.

Early MTAs were usually run as open relays, just routing and delivering mail without applying many rules or security controls. Exim features include user options for defense against mail bombs and unsolicited junk mail. Exim can be run on any TCP/IP network, in conjunction with any combination of host and user software, and is the default MTA included on most Linux systems.

Each mail handled by Exim will have a unique message-ID. Most commands related to managing the queue and logging use these message-ids. Exim log files are stored in /var/spool/exim/msglog and are named the same as the message-id. Files in /var/spool/exim/input are named after the message-id.

Lets use proper commands to deal with Exim.


Working with Exim Mail Server - Exim Commands


>> Count the number of messages in the queue.
root@localhost# exim -bpc

>> Listing the messages in the queue (time queued, size, message-id, sender, recipient).
root@localhost# exim -bp

>> Print a summary of messages in the queue (count, volume, oldest, newest, domain, and totals).
root@localhost# exim -bp | exiqsumm

>> Check what Exim is doing right now.
root@localhost# exiwhat

>> Test how exim will route a given address.
root@localhost# exim -bt

>> Display Exim's configuration settings.
root@localhost# exim -bP

>> Search the queue for messages from a specific sender.
root@localhost# exiqgrep -f [luser]@domain

>> Search the queue for messages for a specific recipient/domain.
root@localhost# exiqgrep -r [luser]@domain

>> Print messages older than the specified number of seconds.
Eg: messages older than 1 hour.
root@localhost# exiqgrep -o 3600 [...]

>> Print messages younger than the specified number of seconds.
Eg: messages less than an hour old.
root@localhost# exiqgrep -y 3600 [...]

>> Match the size of a message with a regex. Eg: Messages between 500-599 bytes.
root@localhost# exiqgrep -s '^5..$' [...]

>> Match only frozen messages.
root@localhost# exiqgrep -z

>> Match only frozen messages.
root@localhost# exiqgrep -x

>> Print just the message-id of the entire queue.
root@localhost# exiqgrep -i

>> Start a queue run.
root@localhost# exim -q -v

>> Start a queue run for just local deliveries.
root@localhost# exim -ql -v

>> Remove a message from the queue.
root@localhost# exim -Mrm <message-id> [ <message-id> ... ]

>> Freeze a message.
root@localhost# exim -Mf <message-id> [ <message-id> ... ]

>> Thaw a message.
root@localhost# exim -Mt <message-id> [ <message-id> ... ]

>> Deliver a message, whether it's frozen or not, whether the retry time has been reached or not.
root@localhost# exim -M <message-id> [ <message-id> ... ]

>> Deliver a message, but only if the retry time has been reached.
root@localhost# exim -Mc <message-id> [ <message-id> ... ]

>> Force a message to fail and bounce as "cancelled by administrator".
root@localhost# exim -Mg <message-id> [ <message-id> ... ]

>> Remove all frozen messages.
root@localhost# exiqgrep -z -i | xargs exim -Mrm

>> Remove all messages older than five days (86400 * 2 = 172800 seconds).
root@localhost# exiqgrep -o 172800 -i | xargs exim -Mrm

>> Freeze all queued mail from a given sender.
root@localhost# exiqgrep -i -f | xargs exim -Mf

>> View a message's headers.
root@localhost# exim -Mvh <message-id>

>> View a message's body.
root@localhost# exim -Mvb <message-id>

>> View a message's logs.
root@localhost# exim -Mvl <message-id>

>> Add a recipient to a message.
root@localhost# exim -Mar <message-id> <address> [ <address> ... ]

>> Edit the sender of a message.
root@localhost# exim -Mes <message-id> <address>


Related posts:

Advertise here

picture picture

Follow us


- Tech-Tutorials

Like us

About Techcuriosity

I am Telson, the webmaster of and through this site, I share my knowledge and curiosities in the Tech World.

What We Offer

  • What is ..?
  • How to ..?
  • Difference between ..?
  • How .. works?
  • Get in Touch
    UK : +44 77 33 890 678

    picture picture

    Our Partners

  • Website Design Dubai
  • SEO Link Exchange
  • picture