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