Scroll to navigation

INEWS(1) InterNetNews Documentation INEWS(1)


inews - Post an article to a news server


inews [-ADEhHILNOPRSvVWXY] [-acdefFimnorstwx value] [-p port] [file]


inews reads a Usenet news article, perhaps with headers, from file or standard input if no file is given. It adds some header fields and performs some consistency checks. If the article does not meet those checks, the article is rejected. If it passes the checks, inews sends the article to the news server specified in the server parameter in inn.conf or overridden by the "NNTPSERVER" environment variable when running inews.

inews submits articles via POST and is suitable for posting articles that have not already been injecting into Usenet. Submitting articles received from other sources should generally use rnews(1) instead.

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

Control messages other than cancel messages are only allowed if 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 field with a distribution that matches one of the bad distribution patterns in inn/options.h (anything containing a period by default), the message will be rejected. The message will also be rejected if checkincludedtext is true in inn.conf, it contains more quoted text than original text, and it is over 40 lines long.

If not provided, the Path header field body will be "not-for-mail". If -x is given, its value will be added to the beginning of the Path header field. You may for instance want to add a special "path-identity" value related to the host running inews, which will appear as "path-identity!not-for-mail" in the Path header field.

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


Most of the options to inews take a single value and set the corresponding header field body 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 field body:

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

The -x argument will be added to the beginning of the normal Path header field body; it will not replace it contrary to what other options do. This behaviour is historical, and was first implemented in the inews program shipped with B News (the original meaning of -x was to say not to forward the article to a specified site).

Accepted for compatibility with C News. These options have no affect.
Accepted for compatibility with, shipped with the news reader tin. These options have no effect.
Perform the consistency checks and add header fields where appropriate, but then print the article to standard output rather than sending it to the server. -N is accepted as as synonym for compatibility with C News.
If the article is empty (that is to say with no body), inews bails out with an error. When -E is used, inews will just silently discard the message and exit.

Note that control messages with no body are not rejected.

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 header fields have to be specified with command-line options as described above.
Print to standard output a help message.
By default, an Organization header field will be added if none is present in the article. To prevent adding the default (from organization in inn.conf), use this flag.
Connect to the specified port on the server rather than to the default (port 119).
inews computes a sender address with the username of the user running inews and the hostname of the news server. It represents the actual poster of the article.

By default, a Sender header field will be added with that value if none is present in the article or if the From header field is not already set to that value. Moreover, if a Sender header field is already present, it will be replaced with that value.

To prevent adding or overwriting the Sender header field, use this flag.

Reject all control messages.
Do not attempt to append ~/.signature to the message, even if it exists.
By default, inews authenticates to the remote news server only if asked to, or if the initial NNTP banner corresponds to a state in which postings are not allowed. Using this flag leads inews to always authenticate, even if not asked to.


The following examples show how to post an article with headers and body, separated by a blank line, written in a file named article.

To post it to the news server set in the server parameter of inn.conf (which can be "localhost" if it is the local server), without adding a Sender header field:

    inews -h -P < article

To force "" as the server to send the article to: inews -h -P < article

For testing purpose, to see the article that will be posted, without actually sending it but only writing it to the standard output:

    inews -h -P -D < article

If article only contains a message without headers, you may use:

    inews -t 'Hello' -n misc.test -f 'Bob <>' -P < article


If the NNTP server requests authentication, inews will try to read 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 inews to post to that server to the appropriate group.

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

Since INN's inews uses inn.conf and some other corners of an INN installation, it's not very appropriate as a general standalone inews program for general use on a system that's not running a news server. Other, more suitable versions of inews are available as part of various Unix news clients or by themselves. We try to keep compatibility with the flags other implementations use (like C News, inews-xt, and the still actively maintained shipped with the news reader tin or downloadable from <> for a standalone use).


Written by Rich $alz <> for InterNetNews. Rewritten in POD by Russ Allbery <>.


inn.conf(5), passwd.nntp(5), rnews(1).

2024-06-24 INN 2.7.2