NAME¶
sma
—
Sendmail Log Analyser
SYNOPSIS¶
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:
[
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.