Exim Mail

About...


Exim is an MTA... a Mail Transfer Agent. It receives mail from the wire and either puts it into a mail box or sends it to another MTA.

CREATED 2016-11-14 10:10:30.0

00-26-BE

UPDATED 2016-11-14 10:10:42.0

Tweaking the Queue


Useful commands to tweak the queue...

exim -M email-id Force delivery of a message
exim -qf Start a queue run
exim -qff Start a queue run and flush frozen messages
exim -Mvl messageID View an individual log for the message
exim -Mvb messageID View the message body
exim -Mvh messageID View the message header
exim -Mrm messageID Remove a message, send no error
exim -Mg messageID Stop trying to deliver this message(s)

CREATED 2021-10-16 15:53:00.0

007-00-04-D9

UPDATED 2021-12-22 13:13:38.0

Testing...


Exim provides many ways to test the different aspects of it. This list is those that I have run accross.

Argument Description
bh <ipaddr> Tests the reception of a host (the argument)
bP Prints all arguments defined in the config files
bt <email addr> Test an email address i.e. it runs the address through the routers and tells which router the address will pass through
bV Lists all the options Exim was compiled with

CREATED 2018-11-10 23:12:31.0

007-00-00-A9

UPDATED 2021-12-22 13:13:12.0

Trouble...


Clear all messages from the queue... this even works when exim is not running...

exim -bp | exiqgrep -i | xargs exim -Mrm

CREATED 2021-10-15 16:23:31.0

007-00-04-D7

UPDATED 2021-12-22 13:13:13.0

Lookups


Exim has many types of lookups. They all follow the same basic syntax. (you won't find this else where - I looked)...

${lookup [type of lookup] {pass} {fail}}

type of lookup covers many things and those constructs are covered in there own namespace. The point here is the structure of the lookup.

The pass value is returned if type of lookup succeeds. The fail value is returned if it doesn't.

A real life example. This is from a router..:

condition = ${loolup \
   mysql{ \
      SELECT username \
        FROM myusers \
       WHERE username = ${quote_mysql:$local_part} \
   } \
   {yes} \
   {no} \
}

The slashes are continuation characters... you knew that.

If the query is successful it will return yes otherwise it returns no which would cause the router to fail.

CREATED 2021-10-16 15:34:46.0

007-00-04-D8

UPDATED 2021-12-22 13:13:15.0

Spam Test


Use this string in the body of an email message to test spam filters...

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

It will score 997.1

CREATED 2021-12-24 12:49:21.0

018-00-0A-97

UPDATED 2021-12-24 12:49:35.0

DBID: db.wam

Page Server: Ithica

©2012 Leistware Data Systems

      Hello anonymous