Section: Maintenance Commands (8)Updated: Harold TayLocal indexUp
NAME
snmail - mail-to-news filter
SYNOPSIS
snmail
[-sP]
[listname
[prefix]]
DESCRIPTION
snmail
reads a single email message on standard input, and writes the
converted message to standard output.
This output is suitable for feeding to
snstore.
snmail
does these conversions:
If the first line is a UUCP
From_
line, it is silently discarded;
a
Newsgroups:
line is added with the value of
prefixlistname
(prefix
concatenated with
listname),
and other existing
Newsgroups:
lines are removed;
and a
Path:
line is created from all
Received:
lines, which are removed;
all header lines are unfolded;
if no message ID exists, one is created;
message IDs in all
References:
lines and
In-Reply-To:
lines are collected into a single
References:
line; all lines are rewritten to end in CRLF; and a lone
.
on a line is written at the end of the message.
snmail
will accept and pass on messages with invalid header fields.
snmail
is meant to be run from a
.forward
or the
/etc/aliases
file (if you're using sendmail or similar) or from a
.qmail
file (if you're using qmail).
snmail
may write status or error messages to standard error.
OPTIONS
-s
Pipe output to
snstore
directly, do not write to standard output. This is so the exit status
is not lost in a shell pipeline. If you use this flag, it is also a
good idea to also use
-c
(tell
snstore
to check if article already exists).
Other options
snmail
also accepts options intended for
snstore,
viz.
-c,
-v,
and
-n,
and these are passed on uninterpreted.
ARGUMENTS
prefix
is the prefix of the newsgroup; if not specified, it defaults to
local.
(note the trailing
.).
prefix
may not begin with a
.
(dot) but it may be empty.
listname
completes the newsgroup name; if not specified, it is the local part
of the address in the
Return-Path:
line if it exists and isn't empty; otherwise it is the local part of
the messages' first
From:.
So if the message originated from the list
<linux-lemmings@vger.rutgers.edu>,
then the default newsgroup becomes
local.linux-lemmings.
listname
may be empty if
prefix
isn't.
You may want to have a file
/var/spool/sn/prefixlistname/.nopost
to deny posting from all and sundry, to prevent the mailing list
newsgroup from being contaminated.
prefix
and
listname
may contain uppercase characters; these are converted to lower case.
USAGE
There are two ways of forwarding mail to the sn news spool:
directly from a user's mail address; or forwarded to a central
address and then invoking
snmail.
The central concern here is permissions; while anyone can run
snmail,
not everyone may store mail in the spool. Mail setups vary a lot,
so basically you're on your own here.
ENVIRONMENT VARIABLES
SNROOT
If this is set and is not empty, the value is used in place of
/var/spool/sn,
the default news spool directory.
PATH
If
-s
was specified, determines where to look for
snstore,
before looking in /usr/sbin.
EXIT STATUS
snmail
exits 0 if the message was successfully converted and written,
or
if the message ID already exists in the ID database and the message
was not stored or converted.
snmail
exits with 1 on usage error, 2 on operational error, 3 if the
mail message wasn't in the proper format.