GICT knowledge base
Extended Exim Logging
Published
Extended Exim Logging
Exim is a mail transfer agent (MTA) used on Linux based system and which is free software distributed under the GNU General Public License. Most cPanel’s are comes with exim as default and it is very easy to use. Exim is very flexible in the way of mail can be routed, and also there are extensive facilities for checking incoming mails on a server.
Here in this tutorial, I will discuss the steps for how do we add more information to the exim logs, this will definitely help us to troubleshoot email related issues. For implementing this you would need root SSH access to your server there. These steps will add more logging information to the exim_mainlog file, so you can determine where messages are coming from, who’s sending the message and from what directory on your server, etc.
For an example:
2003-06-27 14:06:18 cwd=/home/usersite/public_html/forums 3 args: /usr/sbin/sendmail -t -i
2003-06-27 14:06:18 19W0QE-0001Nr-1b [email protected] from env-from rewritten as “”usersite.com” <[email protected]>” by rule 1
The error log entry tells that where the message is coming from, who it sent it from your server, and also the user and the path it was called from, etc.
Likewise, the following log entry shows that the incoming mail is arrived with the subject line, which is very helpful in determining as spam.
19W0bO-0001cY-Ej <= [email protected] H=(one) [xxx.xxx.xxx.xx]:52087 I=[xx.xxx.xx.xxx]:25 P=smtp S=2387 T=”Newsreaders? OH GOD!” from [email protected]
Let’s see the steps to implement this in your server, for this login to your server as root user via SSH.
1) Once you have logged in to your server, open exim.conf file and search for this line “hostlist auth_relay_hosts”. After this add the following entries on your exim configuration file (/etc/exim.conf):
log_selector =
+address_rewrite
+all_parents
+arguments
+connection_reject
+delay_delivery
+delivery_size
+dnslist_defer
+incoming_interface
+incoming_port
+lost_incoming_connection
+queue_run
+received_sender
+received_recipients
+retry_defer
+sender_on_delivery
+size_reject
+skip_delivery
+smtp_confirmation
+smtp_connection
+smtp_protocol_error
+smtp_syntax_error
+subject
+tls_cipher
+tls_peerdn
2) The final result should look like as follows:
hostlist auth_relay_hosts = *
log_selector =
+address_rewrite
+all_parents
+arguments
+connection_reject
+delay_delivery
+delivery_size
+dnslist_defer
+incoming_interface
+incoming_port
+lost_incoming_connection
+queue_run
+received_sender
+received_recipients
+retry_defer
+sender_on_delivery
+size_reject
+skip_delivery
+smtp_confirmation
+smtp_connection
+smtp_protocol_error
+smtp_syntax_error
+subject
+tls_cipher
+tls_peerdn
3) Save the file and restart Exim on your server.
service exim restart
Now see your exim main log file and you should see the latest log with more details/information on it.
If you need any further assistance please contact our support department.
Related guides
How to Test Application Emails with Mailpit
Capture staging emails with Mailpit over a private connection. Inspect message formats and attachments without confusing capture with real delivery.
EmailHow to Test SMTP Login and TLS with swaks
Diagnose SMTP connectivity, TLS and authentication with swaks. Protect credentials and distinguish server acceptance from recipient delivery.
EmailResolving: This message was classified as rSPAM and may not be delivered
Resolve InterServer rSPAM rejections using the SMTP code and MailBaby rule details. Check authentication, security and false positives through support.
EmailHow to Check SPF, DKIM and DMARC Using Message Evidence
Diagnose email authentication using real message identities and selectors, DNS answers and alignment instead of guessed records or delivery assumptions.
