Provided by: smail_126.96.36.199-7_i386
checkerr - check for serious errors encountered by Smail
Checkerr reads through the spool area used by smail(8) and looks for
serious processing errors detected by Smail. Whenever new errors are
detected, a summary is mailed to ‘‘Postmaster’’, which is assumed to be
an address for the user who is responsible for maintaining the Smail
software and configuration. In addition to this, a number of cleanup
operations are performed.
Checkerr should be run periodically from cron(8). Once per day should
be sufficient. Make certain that checkerr is executed under a user and
group ID that can write to the directories in the Smail spool areas
(normally this is only ‘‘root’’).
The checkerr detects message spool files under the Smail error
directory. If any files have appeared since the last time checkerr was
executed, a summary is mailed to the Postmaster. A quick check is made
to determine if mail to ‘‘Postmaster’’ will actually succeed. If not,
the error summary is left in the file .checkerror in the error
directory of the spool area.
The error summary will include any logged information pertaining to the
failed messages. The per-message log, and related entries from the
panic log are both included. If the -V operand is given then entries
from the Smail transaction log will also be included.
Before summarizing any new double-bounce messages left in the frozen
error queue since the last run, checkerr will look for extended regular
expressions (EREs) listed in the file /etc/smail/dead-mail.egrep (using
egrep(1)) and remove any matching message queue files. Unique new
sender addresses from any removed messages will be added to the file
.dead_bounce_senders in the spool area.
Here are some examples of such ERE patterns. The first matches
messages which an anti-virus filter mangled before they arrived on the
local system and which could not be delivered locally and now cannot be
returned to their sender either. The second matches a very common e-
mail worm. The last one matches the first line of a MIME body in
another very common e-mail virus.
The file was successfully deleted by RAV AntiVirus
I send you this file in order to have your advice
The list of message-IDs corresponding to messages matching the EREs in
dead-mail.egrep and which were removed from the frozen error queue will
remain in .dead_bounces in the tmp subdirectory of the spool area until
the next time checkerr is run so that corresponding log entries can be
examined if desired.
NOTE: if you add new ERE patterns to the dead-mail.egrep list you will
have to manually search for old frozen error messages since checkerr
only looks at messages frozen since it was last run. You can do this,
and remove the message queue files you find, with a command such as:
cd /var/mail; find . -name ’[0-9]*’ -print | \
xargs egrep -l -f /etc/smail/dead-mail.egrep | \
Also before summarizing any messages frozen since its last run checkerr
will call unfreezemail(8) to attempt re-delivery of any bounce messages
which were frozen because there was a local EX_TEMPFAIL error (e.g.
because the local delivery transport encountered an over-quota target
mailbox). A list of the locally destined but still un-deliverable
bounce messages will remain in a file called .tempfail_bounces in the
spool area until the next time checkerr is run so that corresponding
log entries can be examined if desired.
The main Smail configuration file. The runtime
configuration specifies the actual location of the log
files and spool directories.
A list of extended regular expressions which if found
using egrep(1) in any message in the error queue(s) will
cause the message to be uncerimoniously deleted. Take
great care creating these entries!
The default executable used for attempting to deliver
error summaries to the postmaster.
The default name for the transaction log file. This can
be changed in the Smail config file.
Archived version of the transaction log file. The
directory "/var/log/smail" is changed to be under the
directory where the logfile resides, and thus can be
changed in the Smail config file.
Previous compressed archive version of the transaction
log file. The directory /var/log/smail is always reset
to be within the directory where the log file currently
resides, and thus can be changed in the Smail config
The default name for the panic log file. This can be
changed in the Smail config file.
Archive for the panic log file. This can be changed in
the Smail config file.
Previous compressed archive for the panic log file.
This can be changed in the Smail config file.
/var/mail The top of the default Smail spool directory tree.
The directory into which incoming messages are spooled.
Each file in this directory has a unique 14 character
name derived from the message ID used internally by the
smail program. Delivery is attempted at intervals for
each of these files.
/var/mail/lock A directory containing lock files. On systems which do
not have an efficient file locking primative, files are
created under this directory to prevent simultaneous
processing of messages by concurrant invocations of the
A directory containing per-message transaction logs.
Smail maintains these logfiles to keep track of which
recipients have received a particular mail message, and
what errors have so far been found while delivering.
These files are removed automatically by smail
processing of a message has completed.
This is the frozen error queue. If a mail messages
fails for a reason that requires attendance by the site
administrator, it is moved into this directory to
prevent Smail from continuing to attempt delivery.
Examples of such failures are double bounces — i.e.
bounces which could not be returned to their sender
address for some reason.
/var/mail/tmp The default name for the temporary directory.
cron(8), smail(5), logsumm(8), smail(8), and unfreezemail(8).
Copyright (C) 1987, 1988 Ronald S. Karr and Landon Curt Noll
Copyright (C) 1992 Ronald S. Karr
See a file COPYING, distributed with the source code, or type smail
-bc, to view distribution rights and restrictions associated with this