Archive for the tag 'exim'

SBDavid

Exim Message-IDs and spool files

Exim Message-IDs and spool files

The message-IDs that Exim uses to refer to messages in its queue are mixed-case alpha-numeric.

Files in /var/spool/exim/msglog contain logging information for each message and are named the same as the message-id.

Files in /var/spool/exim/input are named after the message-id, plus a suffix denoting whether it is the envelope header (-H) or message data (-D).

Exim Basic information

Print a count of the messages in the queue:

root@localhost# exim -bpc

Print a listing of 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

Print what Exim is doing right now:

root@localhost# exiwhat

Changing the Sending IP for Outbound Email in Exim

In order to specify which IP address should handle outbound mail, you will need to disable an option in WHM’s Exim Configuration Editor . You can find the Exim Configuration Editor in the Service Configuration section of WHM. To begin, navigate to the configuration editor and disable the following option:

* Automatically send outgoing mail from the account’s IP address instead of the main IP address.

By default, Exim will send mail from the server’s main shared IP address. Enabling this option forces your users to send mail from their main domain’s IP address. If you choose to enable the option listed above, you will not be able to manually specify the IP addresses from which the domains send mail. This option uses /scripts/updateuserdomains to automatically populate /etc/mailhelo and /etc/mailips.

How can I send a copy of all outgoing messages to another mailbox with Exim

The most straightforward way is to set up a system filter, and include a command such as:

unseen deliver mailbox@serverbuddies.com

This sends a copy of every message to mailbox@serverbuddies.com (unless the message already has that recipient - Exim never does duplicate deliveries). To save only outgoing messages, you need to come up with a definition of what outgoing means. Typically, this might be a check on the sender address and/or on the originating host.

Here is an example:

if $sender_address_domain is serverbuddies.com and
${mask:$sender_host_address/24} is 192.168.124.0/24
then
unseen deliver mailbox@serverbuddies.com/
endif

Exim started generating error message in /var/log/exim_mainlog after update.

ACL: ratelimit database not available

The cause for this issue is exim cache database might be corrupted. To fix this error the exim cache database on the server needs to be remove(Exim rebuilds this database again after exim restart)

To fix this run the following command as root to remove the cache database.

rm -fv /var/spool/exim/db/*

Then restart the exim :

/etc/init.d/exim restart

Exim Message Reception and Delivery log files

Exim writes three different logs, referred to as the main log, the reject log, and the panic log.

/var/log/exim_mainlog ( Linux )
/var/log/exim/mainlog (FreeBSD)

The main log records the arrival of each message and each delivery in a single line in each case. The format is as compact as possible, in an attempt to keep down the size of log files. Two-character flag sequences make it easy to pick out these lines. A number of other events are recorded in the main log. Some of them are optional, in which case the log_selector option controls whether they are included or not. A Perl script called eximstats, which does simple analysis of main log files, is provided in the Exim distribution.

The above log files receives an entry every time a message is received or delivered.

Rejections based on ACLs/Policies: Receives an entry every time a message is rejected based on either ACLs or other policies (for example, aliases configured to :fail:)

/var/log/exim_rejectlog ( Linux )
/var/log/exim/rejectlog (FreeBSD)

The reject log records information from messages that are rejected as a result of a configuration option (that is, for policy reasons).

Next »