SMA(8)

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.