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.