=head1 NAME

inews - Post a Usenet article to the local news server

=head1 SYNOPSIS

B<inews> [B<-ADhNORSVW>] [B<-acdeFfnortwx> I<value>] [B<-p> I<port>] [I<file>]

=head1 DESCRIPTION

B<inews> reads a Usenet news article, perhaps with headers, from I<file>
or standard input if no file is given.  It adds some headers and performs
some consistency checks.  If the article does not meet those checks, the
article is rejected.  If it passes the checks, B<inews> sends the article
to the local news server as specified in F<inn.conf>.

By default, if a file named F<.signature> exists in the home directory of
the posting user, it is appended to the post, preceeded by a line that
contains only C<-- >.  Signatures are not allowed to be more than four
lines long.

Cancel messages can only be posted with B<inews> if the sender of the
cancel message matches the sender of the original message being
cancelled.  The same check is also applied to Supersedes.  Sender in this
case means the contents of the Sender header if present, otherwise the
From header.

Control messages other than cancel messages are only allowed if B<inews>
is being run by the news user or by a user in the news group and if the
control message is recognized.  If the article contains a Distribution
header with a distribution that matches one of the bad distribution
patterns in F<inn/options.h> (anything containing a period by default),
the message will be rejected.  The message will also be rejected if
I<checkincludedtext> is true in F<inn.conf>, it contains more quoted text
than original text, and it is over 40 lines long.

If not provided, the Path header of an article is constructed as follows:
The basic Path header will be "not-for-mail".  If I<pathhost> is specified
in F<inn.conf>, it will be added to the beginning Path.  Otherwise, if
I<server> is specified, the full domain of the local host will be added to
the beginning of the Path.  Then, if B<-x> was given, its value will be
added to the beginning of the Path.

If posting fails, a copy of the failed post will be saved in a file named
F<dead.article> in the home directory of the user running B<inews>.
B<inews> exits with a non-zero status if posting failed or with a zero
status if posting was successful.

=head1 OPTIONS

Most of the options to B<inews> take a single value and set the
corresponding header in the message that is posted.  If the value is more
than one word or contains any shell metacharacters, it must be quoted to
protect it from the shell.  Here are all the options that set header
fields and the corresponding header:

    -a  Approved
    -c  Control
    -d  Distribution
    -e  Expires
    -F  References
    -f  From
    -n  Newsgroups
    -o  Organization
    -r  Reply-To
    -t  Subject
    -w  Followup-To
    -x  Path prefix

The B<-x> argument will be added to the beginning of the normal Path
header; it will not replace it.

=over 4

=item B<-A>, B<-V>, B<-W>

Accepted for compatibility with C News.  These options have no affect.

=item B<-D>, B<-N>

Perform the consistency checks and add headers where appropriate, but then
print the article to standard output rather than sending it to the server.
B<-N> is accepted as as synonym for compatibility with C News.

=item B<-h>

Normally, this flag should always be given.  It indicates that the article
consists of headers, a blank line, and then the message body.  If it is
omitted, the input is taken to be just the body of the message, and any
desired headers have to be specified with command-line options as
described above.

=item B<-O>

By default, an Organization header will be added if none is present in the
article.  To prevent adding the default (from I<organization> in
F<inn.conf>), use this flag.

=item B<-p> I<port>

Connect to the specified port on the server rather than to the default
(port 119).

=item B<-R>

Reject all control messages.

=item B<-S>

Do not attempt to append F<~/.signature> to the message, even if it
exists.

=back

=head1 NOTES

If the NNTP server requests authentication, B<inews> will try to read
F<passwd.nntp> to get the username and password to use and will therefore
need read access to that file.  This is typically done by making that file
group-readable and adding all users who should be able to use B<inews> to
post to that server to the appropriate group.

B<inews> used to do even more than it does now, and all of the remaining
checks that are not dependent on the user running B<inews> should probably
be removed in favor of letting the news server handle them.

Since INN's B<inews> uses F<inn.conf> and some other corners of an INN
installation, it's not very appropriate as a general stand-alone B<inews>
program for general use on a system that's not running a news server.
Other, more suitable versions of B<inews> are available as part of various
Unix news clients or by themselves.

=head1 HISTORY

Written by Rich $alz <rsalz@uunet.uu.net> for InterNetNews.  Rewritten in
POD by Russ Allbery <rra@stanford.edu>.

=head1 SEE ALSO

inn.conf(5), rnews(1)

=cut
