Provided by: eximon_3.36-18ubuntu1_i386
eximon - X Interface to for exim
The monitor is started by running the script called eximon. This is a
shell script which sets up a number of environment parameters, and then
runs the binary called eximon.bin.
The parameters that get built into the eximon script can be overridden
for a particular invocation by setting up environment variables of the
same names, preceded by EXIMON_. For example, a command such as
overrides the setting of the LOG_DEPTH parameter. X resources can be
used to change the appearance of the window in the normal way. For
example, a resource setting of the form
changes the colour of the background to light grey rather than white.
The stripcharts are drawn with both the data lines and the reference
lines in black. This means that the reference lines are not visible
when on top of the data. However, their colour can be changed by
setting a resource called uses). For example, if your X server is
running Unix, you could set up lighter reference lines in the
stripcharts by obeying
xrdb -merge <<End
In order to see the contents of messages on the spool, and to operate
on them, eximon must either be run as root or by an admin user, that
is, a user who is a member of the Exim group (when one is defined).
The monitor’s window is divided into three parts. The first contains
one or more stripcharts and two action buttons, the second contains a
’tail’ of the main log file, and the third is a display of the queue of
messages awaiting delivery.
The first stripchart is always a count of messages on the queue. The
remaining ones are defined in the configuration script by regular
expression matches on log file entries, making it possible to display,
for example, counts of messages delivered to certain hosts or using
certain transports. The supplied defaults display counts of received
and delivered messages, and of local and SMTP deliveries. The default
period between stripchart updates is one minute.
It is also possible to have a stripchart which shows the percentage
fullness of a particular disc partition, which is useful when local
deliveries are confined to a single partition. This relies on the
availability of the statvfs function or equivalent in the operating
system. Most, but not all versions of Unix that support Exim have
The stripchart displays rescale themselves automatically as the value
they are displaying changes. There are always 10 horizontal lines in
each chart; the title string indicates the value of each division when
it is greater than one. For example, ’x2’ means that each division
represents a value of 2.
MAIN ACTION BUTTONS
Below the stripcharts there is an action button for quitting the
monitor. Next to this is another button marked ’Size’. They are placed
here so that shrinking the window to its default minimum size leaves
just the queue count stripchart and these two buttons visible. Pressing
the ’Size’ button causes the window to expand to its maximum size,
unless it is already at the maximum, in which case it is reduced to its
minimum. When expanding to the maximum, the window is moved if it will
not all be visible at the current position. When it is expanding from
its minimum size, the old position is remembered, and next time it is
reduced to the minimum it is moved back there.
The idea is that you can keep a reduced window just showing one or two
stripcharts at a convenient place on your screen, easily expand it to
show the full window when required, and just as easily put it back to
what it was. The idea is copied from what the twm window manager does
for its f.fullzoom action.
The second section of the window is an area in which a display of the
tail of the main log is maintained. This has a scroll bar at its
lefthand side which can be used to move back to look at earlier text,
and the arrow keys also have this effect. Similarly, there is a
horizontal scroll bar for accessing long log lines. Text can be cut
from this part of the window using the mouse in the normal way.
Searches of the text in the log window can be carried out by means of
the ^R and ^S keystrokes, which default to a reverse and forwards
search respectively. The search covers only the text that is displayed
in the window. It cannot go further back up the log.
The point from which the search starts is indicated by a caret marker.
This is normally at the end of the text in the window, but can be
positioned explicitly by pointing and clicking with the left mouse
button, and is moved automatically by a successful search. If new text
arrives in the window when it is scrolled back, the caret remains where
it is, but if the window is not scrolled back, the caret is moved to
the end of the new text.
Pressing ^R or ^S pops up a window into which the search text can be
typed. There are buttons for selecting forward or reverse searching,
for carrying out the search, and for cancelling. If the ’Search’ button
is pressed, the search happens and the window remains so that further
searches can be done. If the ’Return’ key is pressed, a single search
is done and the window is closed. If ^C is pressed the search is
The bottom section of the monitor window contains a list of all
messages that are on the queue, which includes those currently being
received or delivered, as well as those awaiting delivery.
When a host is down for some time, a lot of pending mail can build up
for it, and this can make it hard to deal with other messages on the
queue. To help with this situation there is a button next to ’Update’
called ’Hide’. If pressed, a dialogue box called ’Hide addresses
ending with’ is put up. If you type anything in here and press
’Return’, the text is added to a chain of such texts, and if all the
undelivered addresses of a messasge match one or other of the texts,
the message is not displayed.
If any address matches none of the texts, all the addresses are
displayed as normal. The matching happens on the ends of addresses so,
for example, cam.ac.uk specifies all addresses in Cambridge, while
email@example.com specifies just one specific address. When there are any
hide texts in existence, a button called ’Unhide’ is displayed. If
pressed, it cancels all hiding. Also, to ensure that hidden messages
don’t get forgotten, a hide text is automatically cancelled after one
While the dialogue box is displayed, you can’t press any buttons or do
anything else to the monitor window. For this reason, if you want to
cut text from the queue display to use in the dialogue box, you have to
do the cutting before pressing the ’Hide’ button.
The queue display contains, for each unhidden queued message, the
length of time it has been on the queue, the size of the message, the
message id, the message sender, and the first undelivered recipient,
all on one line. If it is a delivery error message, the sender is shown
as <>. If there is more than one recipient to which the message has not
yet been delivered, subsquent ones are listed on additional lines, up
to a maximum configured number, following which an ellipsis is
displayed. Recipients that have already received the message are not
shown. If a message is frozen, an asterisk is displayed at the left-
The queue display has a vertical scroll bar, and can also be scrolled
by means of the arrow keys. Text can be cut from it using the mouse in
the normal way. The text searching facilities, as described above for
the log window, are also available, but the caret is always moved to
the end of the text when the queue display is updated.
If the shift key is held down and the left button is clicked when the
mouse pointer is over the text for any message, an action menu pops up,
and the first line of the queue display for the message is highlighted.
This does not affect any selected text. If you want to use some other
event for popping up the menu, you can set the MENU_EVENT parameter in
Local/eximon.conf to change the default, or set EXIMON_MENU_EVENT in
the environment before starting the monitor. The value set in this
parameter is a standard X event description. For example, to run eximon
using ctrl rather than shift you could use
The title of the menu is the message id, and it contains entries which
act as follows:
The contents of the message log for the message are displayed in
a new text window.
Information from the spool file that contains the envelope
information and headers is displayed in a new text window. See
chapter 45 for a description of the format of spool files.
body The contents of the spool file containing the body of the
message are displayed in a new text window. There is a default
limit of 20,000 bytes to the amount of data displayed. This can
be changed by setting the EXIMON_BODY_MAX option at runtime.
A call to Exim is made using the -M option to request delivery
of the message. This causes an automatic thaw if the message is
frozen. The -v option is also set, and the output from Exim is
displayed in a new text window. The delivery is run in a
separate process, to avoid holding up the monitor while the
A call to Exim is made using the -Mf option to request that the
message be frozen.
A call to Exim is made using the -Mt option to request that the
message be thawed.
give up on msg
A call to Exim is made using the -Mg option to request that Exim
gives up trying to deliver the message. A delivery failure
report is generated for any remaining undelivered addresses.
A call to Exim is made using the -Mrm option to request that the
message be deleted from the system without generating any
A dialog box is displayed into which a recipient address can be
typed. It must be entered as a fully-qualified address.
Pressing RETURN causes a call to Exim to be made using the -Mar
option to request that an additional recipient be added to the
message, unless the entry box is empty, in which case no action
A dialog box is displayed into which a recipient address can be
typed. If the address is not qualified and the QUALIFY_DOMAIN
parameter is set in Local/eximon.conf, the address is qualified
with that domain. Otherwise it must be entered as a fully-
qualified address. Pressing RETURN causes a call to Exim to be
made using the -Mmd option to mark the given recipient address
as already delivered, unless the entry box is empty, in which
case no action is taken.
mark all delivered
A call to Exim is made using the -Mmad option to mark all
recipient addresses as already delivered.
A dialog box is displayed initialized with the current sender’s
address. Pressing RETURN causes a call to Exim to be made using
the -Mes option to replace the sender address, unless the entry
box is empty, in which case no action is taken. If the address
is not qualified and the QUALIFY_DOMAIN parameter is set in
Local/eximon.conf, the address is qualified with that domain.
Otherwise it must be a fully-qualified address.
A new xterm process is forked in which a call to Exim is made
using the -Meb option in order to allow the body of the message
to be edited. Note that the first line of the body file is the
name of the file, and this should never be changed.
In cases when a call to Exim is made, the actual command used is
reflected in a new text window by default. However, if the call results
in any output from Exim (in particular, if the command fails) a window
containing the command and the output is displayed. Otherwise, the
results of the action are normally apparent from the log and queue
displays. The latter is automatically updated for actions such as
freezing and thawing.
In any text window that is displayed as result of a menu action, the
normal cut-and-paste facility is available, and searching can be
carried out using ^R and ^S, as described above for the log tail
There is extensive documentation available in /usr/share/doc/exim and
in the info system regarding exim. Please be sure to have the exim-doc
This manual page was stitched together by Christoph Lameter
<firstname.lastname@example.org>, from the original documentation coming with the
sourcepackage for the Debian GNU/Linux system.