Help for Alpine - News Collections
You are in Home > Collections > News


The News Collection contains the name of all Usenet newsgroups which you are currently subscribed to. The information of which newsgroups you are subscribed to is saved in a file called ".newsrc", which is saved in your main directory. The name ".newsrc" was taken from the tradition of Unix news readers of using this file to store information on which messages had been read, and Alpine uses it and shares this information with any other news reader you may want to use. Later on we will see how you can edit this information and save yourself some time, sometimes.

First Configure your Server

In order to set a News Collection, you only have to set the news server that you will be using to read/post news from, this is done in the NNTP Server (for news) (pinerc name: nntp-server) variable in your configuration file. The rest of the process is done automatically by Alpine. So, you do not have to worry about any other thing afterwards.

Note that when you set your nntp-server variable you may want to do it in the format:

nntp-server =

if your userid is different from your login id to your mail server. You may have to enter a password too, in order to authenticate yourself to the server.

Adding More News Servers

Alpine uses the nntp-server variable in the same way that it uses the smtp-server variable. Namely, all servers listed in this option are used by Alpine to try to post your message. In fact, Alpine goes down the list of servers specified in this variable and only stops when a connection with at least one of the servers has succeeded or when the list is over.

What this means is that if you can connect to the first server in this list, and this one refuses to send your message, Alpine will not continue searching for another server in your list of servers to try to post your message.

If you are using another nntp-server to read special newsgroups not carried by both server, you need to add a special collection for this server. Just press M S L and add the following information:

Nickname : Anything (the name of the server is a good idea)
Server   :
Path     : #news.
View     :  

If you do this, keep a few things in mind.

How Do I Specify the Password when I Define the News Server?

You can not do it in plain text, it is a security measure. Alpine is not only thought to be used for personal use but also by use for universities, companies, etc. If anyone had access to your computer/account, that person could take control of your e-mail, and send messages in your name (meaning spam, for example).

If you are not using the PC, nor the Mac OS version of Alpine, you must compile this support in. It is not compiled by default. Instructions to compile this password support can be found here.

After you have compiled the support for the password file and/or created an empty file in the corresponding place, Alpine will take care of the rest of the process for you.

Add a Few Headers to your Customized-Hdrs Option

You should add the following headers to your customized-hdrs option: Followup-To and Control. Part of the purpose of this section is to show you why you need to add them. We will discuss the first one when we talk about posting, and the latter one when we discuss about cancelling a post.

After you have added them remember that if you ever need to use them you need to put the cursor in the headers section of the message and press ^R in order to be able to fill them up.

Why is Alpine so Slow?

There may be many reasons why Alpine slows down when you define a News Collection in it, which is located in a remote server. Here are some tips, and most importantly where the problems really come from.

Most of the time the problem has to with slow communication, this is certainly a point where Alpine does not excel at all. Here are some typical symptoms.

  1. The Main Problem: Alpine likes to validate the newsgroups. In other words, for some reason, the Alpine team in their infinite wisdom decided that it was better to try to validate newsgroups (which means that it checks for existence in the news server) for every operation that you do that may involve the news server at all (even if it does not have to do with newsgroups). You will see in a minute how this may affect you.

Adding and Deleting Newsgroups

Adding a deleting newsgroups is done in the obvious way. There are a few things worth noting though.

The first thing that you need to notice when adding a newsgroup is that entering the name of the newsgroup will not necessarily will subscribe you to that newsgroup, at least the process is not immediate. This will only happen if the name that you entered matched only one newsgroup that contains the string that you entered in your news server. Besides the fact that the newsgroup must be present in your server, you also need to realize that Alpine will search for all newsgroups that contain the string that you added. In other words, if you added the string "comp", that will match "comp.mail.pine" and "alt.computers". So, if you are unsure about the exact name of a newsgroup, just enter a small part of its name and if present Alpine will find it for you and present it in a list.

The disadvantage of this, is that if you wanted to subscribe to a specific newsgroup, like "", Alpine will find all the newsgroups that contain that match, so it will find "", "", etc. The only way to subscribe immediately to "" is by entering the name, pressing TAB and then <RETURN>, although I believe that this is a bug.

When adding a newsgroup, you can get a list of all newsgroups by pressing ^T.

When you have a list of newsgroups, you can press "L" to put the list in something called "List Mode". What List Mode does is to put a "box" next to the name of each newsgroup. This is useful if you want to subscribe to more than one newsgroup. In fact, if you need to do this, you just need to put the cursor over the line that contains the name of the subgroup that you want to subscribe to and press <RETURN> in each one of them. In order to finish, press "S" to subscribe or "E" to cancel the subscription.

Note that when in List Mode you can not use this mode to unsubscribe from already subscribed newsgroups. This is probably a convenience for the programmer, not a real obstruction.

Note also that for unsubscribing from newsgroups (that is, deleting their name from the collection list), you have to do it one by one, there is no list mode or a select type command that will do this for you.

The .newsrc File

This file contains the name of all the newsgroup that you are subscribed to, together with some extra information, about which messages you have deleted from your index.

The easiest thing to do, is to subscribe to a newsgroup. In order to do so all you need to do is to add the name of the newsgroup at the beginning of a new line in this file. In other words, to subscribe to "comp.mail.pine", you just need to write "comp.mail.pine" at the beginning of a new line in this file. In order to unsubscribe from a newsgroup, you need to write a "!" after the name of the newsgroup, in other words if you write "comp.mail.pine!", this newsgroup will not appear in your list in the collection list. Note that Alpine will not delete this line, it will only add this string, so even if you unsubscribe from a newsgroup, this information is still present in your .newsrc file, and you need to delete it manually from there.

Another thing worth noticing is that Alpine will create a .newsrc.old file every time it has to rewrite the .newsrc file. This file is not needed, so you can delete it between sessions. Somehow the Alpine team refuses to delete this file at the end of a session, but you can safely do it, if that is your preference.

The file .newsrc also contains a collection of numbers, these numbers are used to identify a message. Instead of identifying messages by their headers, in news, messages are identifying by their number in their respective newsgroup. So, when a message arrives to your server, it will be given a number (think of it as an ID) that will identify it in the server. These numbers are sequential and start with the number one. The rule that you need to remember is that if you see a number in this file, it means that the message with that number has been deleted, either from the server or from the index display in your newsgroup.

Giving a more concrete example, the sequence "1-192867,192869-192943" means that all messages between number 1 and 192867 have been deleted, and then all messages between numbers 192869 and 192943 have also been deleted. In other words, only message 192868 is visible in the index when reading this newsgroup. You do not need to specify ranges, you can specify one message, like "192945", separated by a comma, just to identify one message deleted, instead of several of them. Note that there is no comma at the end of the information of a newsgroup, the last piece of information must be a number. All the information about deleted messages must be in just one line, so in your .newsrc file there must be as many as newsgroups that you are subscribed you are to.


This is the fun part of news (in a strange definition of fun). Further help can be found by reading RFC 977. If you need information in order to create your .newsrc file manually knowing this may help you save some time.

You can talk to your news server by sending a telnet connection to the correct port of the server, usually 119.

telnet 119

This will usually result in a message back from your server, either refusing the connection, or allowing you to connect. I will assume here that you are already logged in into the server.

Some (friendly) servers give you the list of commands that it accepts by issuing the "help" command. If you need help about a specific command try issuing the command and then adding "help", so "list help" should give you help on the "list" command.

The first command you should know is the "list" command. Issuing that command gives you the list of all newsgroups available in the server.

If you want to enter to a specific newsgroup, write the command

group name_newsgroup

If the newsgroup is available in the server, the server will reply with a line like:

211 224 50568 50793 name_newsgroup

The information that you need from here say that there are active articles from numbers 50568 to 50793. That means that if you ask for an article in some other range, like article number 1, it will not be present in the server.

You can use the following commands to read news:

If you need to find out which messages have a certain subject, use the XHDR command, so for example

XHDR subject 50700-50720

gives you the list of all subjects of the messages in the range 50700 to 50720.

In order to open another newsgroup, you do not need to close the newsgroup that you are reading, simple give the command "group another_group"

Posting to a Newsgroup

Posting a message is different than sending a message to a person, even if you are replying to a post of a person. A post is a public e-mail, anyone can see it and comment on it.

The process of posting in Alpine is a bit strange, this is because Alpine is both a mail program and a news reader, and sometimes this mix does not work very well.

Composing a New Post

For starters, in order to post a new message to a newsgroup, you must start as if you were going to compose a new message. You can read all the possible variations about what happens afterwards in the section about the compose command. We will focus in those variations that have to do with posting in a newsgroup.

First of all make sure that you set news-post-without-validation in your configuration, as explained before, not setting this option will slow down Alpine. If you started the composition in a newsgroup, then what happens next depends on if you have enabled compose-sets-newsgroup-without-confirm, if you set this configuration option, Alpine will assume that you want to post to the same newsgroup that you are reading, if you do not, Alpine will ask you if you want to post to the same newsgroup that you are reading. In case that you answer NO, Alpine will assume that you wanted to compose an e-mail message.

If you start composing a message that you want to post to a newsgroup, but you start composing in an e-mail folder (not in a newsgroup), you will need to fill the "Newsgroups:" header, with the name of the newsgroup. This header is usually hidden (unless you changed it), and it can be reached by pressing ^R in any place of the headers section of the message.

See Also:

Replying to a Post

When replying to a post (meaning when you press "R"), you will have the chance to either reply by mail to the sender, posting your reply or doing both.

In order to post your reply you must press "F" to Follow up. When you follow up a post, the References: header is updated with the message-id of the message that you are replying to. If you only reply to the author of the message, the References: header will not be updated.

Some messages contain a "Followup-To:" header, which indicates where replies to the posted message should go to (the author, the newsgroup)

When a message is both replied and posted people refer to this situation as "Posted and Mailed", and some news readers generate a header indicating this. Alpine does not generate this header.

Sending the Post

So, finally you have finished to compose the message that you want to post. It is time to send it. In order to send the message you need to do it in the same way as you would if you were sending an e-mail, by pressing ^R. If you have set quell-extra-post-prompt, then Alpine will just go ahead and post your message, otherwise it will ask you to confirm to post the message, which is not always desirable.

Your Index Format for Newsgroups

When you start reading news, the first time that you enter a newsgroup you will see all messages marked "N" (New). Alpine does not keep track on the messages that you deleted from the newsgroup, by default. Again you need to configure Alpine in order to do so.

If you set the configuration option news-approximates-new-status, then Alpine will mark as new messages those messages that are (in the server) after the last message that was deleted in that newsgroup. All the messages that are before the last deleted messages will be marked as read (which is indicated by a blank space in the column where the status of each message is indicated). The purpose of the .newsrc file is to keep the information needed across sessions of opening the newsgroup, in order to know which messages to display and which flags to attach to it.

See Also:

Reading Old Posts

One of the differences between Mail and News is that even if a message was directed to you, it was not addressed to you. Unless you use a maildrop, reading news is never done from your own home directory. When reading news you read from a public place, therefore you can not remove a message. When you remove a message from a newsgroup you are not really removing the message, you are just making it disappear from your view. The message still remains in the server or directory from where you are reading.

Having said this, some servers (well, most of them), expire messages. This means that messages that have been in the server for longer than a certain period of time are removed permanently from the server.

While a message has not expired it can be read, even if you have deleted it from the newsgroup. In practice removing a message from a newsgroup only hides it. You can bring those messages back to the index by pressing the & Unexclude command.

Unexcluding messages may be expensive. Unexcluding messages will bring to the index all messages in the server that have not expired but that have been deleted from the index. For example, if the server has 8000 messages, but your index only has 100 messages, then undexcluding the newsgroup will cause 7900 messages to appear in the index. This may take considerable resources (and time!), so watch out for this. If your connection is fast this may not be an issue at all.

Another desirable property that Alpine does not have is that you can not unexclude one message (or a group of them). You must unexclude all of them if you want to read an old post.


This option gives you the ability to determine the maximum number of messages that you are going to see in a newsgroup. For example, setting nntp-range = 100 means that you will only see at most the last 100 messages that were posted in that newsgroup. You must be aware that it is at most because cancelled posts may make this number smaller.

Setting this value equal to zero (the default value) makes Alpine ignore this option, but setting it to any other value makes Alpine use that value as the maximum number of post you will see.

Observe that unexlcuding messages may not bring all messages back, it will simply unexclude the number of messages necessary to complete the maximum number specified in this variable. This may be desirable when the server keeps too many messages in the server, and may be undesirable, because unexcluding the newsgroup may not get the message that you are looking for unexcluded, even though that message has not been expired by the server.

There is no way to set this limit number different for different servers or newsgroups. The value set in this configuration option is the same for all news servers and newsgroups.

Cancelling a Post (an oxymoron in Alpine)

Costello : Hey Abbot!, how do I cancel a post?
Abbot : Oh, that is easy all you have to do is to compose a new message...
Costello : Wait!, I said that I wanted to cancel a message.
Abbot : That is correct, you have to compose a new message...
Costello : But I did not say I wanted to post a message. I know how to do that. I only want to cancel a message. Look, if I want to cancel a message I am willing to press the Cancel, Delete, or Kill the post key, but not to start a new message.
Abbot : But that is the way you do it...
(Adapted from a similar discussion about the start menu that I read in the book The Mother of All Windows 98 Books by two of my favorite people: Woody Leonhard and Barry Simon.)

We can not rewrite history, but we can cancel posts. This means that we can eliminate messages from the news server after they have been posted. When you delete a message from your news index, you are not deleting the message from the server, as you do with e-mail. The only way you can remove a message from a server is by actually sending another message. Alpine does not hide this fact from you and it actually makes it more difficult of what it should.

The explanation of how to cancel a message can be found in RFC 1036. All you need to do is to send a new message to the newsgroup that contains the message that you want to cancel, that includes the following header
Control: cancel <Message-ID>

where <Message-ID> is the Message-ID header of the message you want to cancel.

In case you have not added the Control header to your list of headers, you can cancel the message by posting an article to the same newsgroup that contains a special subject line:
Subject: cmsg cancel <Message-ID>
See also:

How Do I Use a Killfile with Alpine?

There is no such a thing as a killfile in Alpine, you can however use filters to do so. I have a very thorough explanation of filters and some examples which you may want to read.
You are in Home > Collections > News