Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  SNMAIL (8)


snmail - mail-to-news filter


Environment Variables
Exit Status


snmail [-sP] [listname [prefix]]


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.


-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.


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.

  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 <>, 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/news/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.


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.


SNROOT If this is set and is not empty, the value is used in place of /var/spool/news, the default news spool directory.

PATH If -s was specified, determines where to look for snstore, before looking in /usr/local/sbin.


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.

Search for    or go to Top of page |  Section 8 |  Main Index

N.B. SNMAIL,V0.3.8 (8) Harold Tay

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.