|-A||Downcase all addresses. This is so that email@example.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.|
|Set the background color of the HTML report as color.|
|Set report header as string.|
Process log entry only if the date is between
The format of the date is as follows:
.Sm off [[[[[[ cc] yy] mm] dd] HH] MM [.SS]]
.Sm on 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.|
|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.|
|Use name as hostname.|
|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.|
|Print the report as file. If not given, print to stdout.|
|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.|
|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.|
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 % relay recipient %S status (1 = sent, 0 = error) % 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.
sma can as an option use a configuration file. Its default location can be configured using a compile time define DEFAULT_CONF in file conf.h. By default, it is defined as ./sma.conf
Jarkko Turkulainen <firstname.lastname@example.org>
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.