NAME
sma - Sendmail Log Analyser
SYNOPSIS
sma [OPTIONS] [file ...]
DESCRIPTION
The sma utility analyses sendmail log entries and produces a summary of
mail activity. sma reads the input from file or from standard input and
writes the report to standard output or file.
sma can be configured using command line options or configuration file,
or both. Command line options always override the configuration file.
The available command line options are as follows:
-A Downcase all addresses. This is so that foo@bar.com is
equivilant to FOO@BAR.Com and Foo@Bar.com and they all get
counted the same in the counts. Usually one is interested in the
user, not the format of the address and since email addresses are
case insensitive to MTAs, one may want to make them case
insensitive in sma
-a Format the report as ASCII.
-b color
Set the background color of the HTML report as color.
-C string
Set report header as string.
-D date1,date2
Process log entry only if the date is between date1 and date2.
The format of the date is as follows:
[[[[[[cc]yy]mm]dd]HH]MM[.SS]] where
yy Year in abbreviated form (for years 1969-2068).
The format ccyymmddHHMM is also permitted, for non-
ambiguous years.
mm Numeric month, a number from 1 to 12.
dd Day, a number from 1 to 31.
HH Hour, a number from 0 to 23.
MM Minute, a number from 0 to 59.
SS Second, a number from 0 to 61 (59 plus a maximum of
two leap seconds).
Everything but the minute is optional. The dates must be
separated using a colon, without any whitespace characters. If
either of the dates is missing, current date is used.
-c Print the copyright notice and exit.
-d Process only the domain portion of email address.
-f file
Read the configuration from file instead of the default
configuration file. The default configuration file is defined in
conf.h.
-F Do not use default configuration file even if it exists.
-H name
Use name as hostname.
-L string
Process only lines with syslog tag string
-h Print help message and exit.
-i Include the ASCII report as HTML comment (requires -w or -O
html).
-n Do not report the time distribution.
-o file
Print the report as file. If not given, print to stdout.
-O format
Format the report as format. Possible values for format are
ascii, html and clog.
-p Print current configuration to stdout.
-s Sort by transfers. Default is by number of messages.
-t value
Adjust the internal hash table size. Possible values for value
are normal, big and huge.
-q Do not print any warning messages.
-l num Number of the top senders and recipients in the report. Default
is 10.
-r num Number of the top relay senders and recipients in the report.
Default is 5.
-v Print some debugging information for each parsed line.
-w Format the report as HTML.
KEYWORDS
sma configuration file consists of keyword-value pairs. Available
configuration file keywords and values are listed below.
BgColor RGB
Set HTML report background color as RGB. Command line option: -b
BounceAddress string
Set error message bounce address as string.
CaseSensitive value
Set filter case sensitivity. Possible values are yes or no. This
options requires USE_REGEXP compile time definition.
DowncaseAddresses value
Set whether or not to make all addresses lower case, to make
counts for users more accurate. Possible values are yes or no.
ClogFormat string
Formatting string for Custom Log format. format consists of
ordinary characters and various two-character sequencies which
are replaced with built-in variables as follows:
%U time in UNIX time format
%D time in form "Wed Jun 30 21:49:08 1993"
%y year, four digits
%m month, in digits
%M month, three letter English
%n minute
%s second
%d day
%h hour
%H hostname
%z size in bytes
%f envelope sender
%t envelope recipient
%F relay sender
%T relay recipient
%S status (1 = sent, 0 = error)
%i message id
%% %-character
\n newline
\t tab stop
\\ single backslash
ClogSentOnly value
If value is set as yes , print only sent messages (status = 1).
Comment string
Set report header as string. Command line option: -C
Debug value
If value is set as yes , print debugging information to stderr.
Command line option: -v
EndTime date
Process log entry only if the date is before date. The format of
the date is YYYY/MM/DD-HH:MM:SS. Command line option: -D
EnvelopePairs number
Set the number of the top envelope pairs as number.
EnvelopeRecipientFilter string
Set envelope recipient filter as string. If sma is compiled with
USE_REGEXP , string can be regular expression of syntax defined
in re_format(7). Otherwise the standard C library function
strstr() is used. If the first character of string is ’!’, filter
is reversed.
EnvelopeRecipients number
Set the number of the top envelope recipients as number. Command
line option: -l
EnvelopeSenderFilter string
Set envelope sender filter as string. See also
EnvelopeRecipientFilter keyword.
EnvelopeSenders number
Set the number of the top envelope senders as number. Command
line option: -l
FooterText string
Set report footer as string.
Format string
Set the output format as string. Possible values are ascii , html
and clog. Command line options: -a , -w and -O
HashTables string
Adjust the internal hash table size. Possible values are normal ,
big and huge. It is also possible to specify a custom hash table
size by defining two values and separating them with a comma ’,’.
Command line option: -t
HeaderText string
Set report header as string.
HostName string
Set the hostname as string. Normally, HostName is taken from log
files, or, in case of Sendmail for NT, from the compile time
define HOSTNAME. Command line option: -H
IncludeAscii value
Include the ASCII report as HTML comment. Possible values are yes
or no. Command line option: -i
OutFile file
Print the report as file. Command line option: -o
PictureALT string
If PictureURL is defined, set ALT text inside the IMG HTML-tag as
string.
PictureLink string
If PictureURL is defined, make the picture as link pointing to
string.
PictureParameters string
If PictureURL is defined, set additional IMG parameters as
string.
PictureURL URL
Include a picture with source URL as URL in HTML report. The
picture appears in a upper left corner of the page. See also
PictureParameters , PictureALT and PictureLink keywords.
PrintGeneralInfo value
Print the General Information section in report. Possible values
are yes or no.
PrintStatus number
Set the number of the top status messages as number.
PrintRule number
Set the number of the top ruleset rejections as number.
PrintTime value
Print the Time Distribution section in report. Possible values
are yes or no. Command line option: -n
RelayPairs number
Set the number of the top relay address pairs as number.
RelayRecipientFilter string
Set relay recipient filter as string. See also
EnvelopeRecipientFilter keyword.
RelayRecipients number
Set the number of the top relay recipients as number. Command
line option: -r
RelaySenderFilter string
Set relay sender filter as string. See also
EnvelopeRecipientFilter keyword.
RelaySenders number
Set the number of the top relay senders as number. Command line
option: -r
ShowUsers value
If value is set as no , process only the domain portion of the
email address. Command line option: -d
Silent value
If value is set as yes , do not print error messages. Command
line option: -q
Sorting value
Set the sort order as value. Possible values are number or
transfer. Command line option: -s
SyslogTag string
Process only lines with syslog tag string. Command line option:
-L
StartTime date
Process log entry only if the date is after date. The format of
the date is YYYY/MM/DD-HH:MM:SS. Command line option: -D
TbColor RGB
Set HTML report table corner color as RGB.
FILES
sma can as an option use a configuration file. It’s default location can
be configured using a compile time define DEFAULT_CONF in file conf.h. By
default, it is defined as ./sma.conf
AUTHOR
Jarkko Turkulainen <jt@klake.org>
BUGS
sma takes the year from runtime year. It knows nothing about the new
year transitions in log files.
The documentation contains a lot of bad english.