sma(8) 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 [email protected] is equivilant to [email protected] and [email protected] 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 <[email protected]>

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.