Mail::Folder::NNTP - An NNTP folder interface for Mail::Folder.

WARNING: This code is in alpha release. Expect the interface to change.


use Mail::Folder::NNTP;


This module provides an interface to newsgroups accessible via the NNTP protocol.



Populates the Mail::Folder object with information about the folder.

The given foldername can be given one of two formats. Either news://NEWSHOST/NEWSGROUP where NEWSHOST is the nntp host and NEWSGROUP is the news group of interest, or #news:NEWSGROUP in which case the NNTPSERVER environment variable is referenced to determine the news host to connect to.

Please note that it opens an NNTP connection for each open NNTP folder.

If no Timeout option is specified, it defaults to a timeout of 120 seconds.

  • Call the superclass open method.

  • Make sure it is a valid NNTP foldername.

  • Connect to the NNTP server referenced in $foldername.

  • Perform an NNTP group command to determine quantity and range of articles available.

  • Loop through available article numbers, retrieve and cache the headers.

  • Set current_message to first_message.


Calls the superclass get_message method and shuts down the connection to the NNTP server.


Currently a no-op and returns 0.

Eventually will expunge articles marked as seen, look for new articles, update the .newsrc (or equivalent) file, and return the number of new articles found.


Since the association between article and article number is determined by the server, this method is a no-op.

It return 1.


Calls the superclass get_message method.

Retrieves the contents of the news article pointed to by the given $msg_number into a Mail::Internet object reference, caches the header, marks the message as 'seen', and returns the reference.

It returns undef on failure.


Not currently implemented. Returns undef.


If the particular header has never been retrieved then get_header retrieves the header for the given news article from the news server, converts it into a Mail::Header object and returns a reference to the object.

If the header has already been retrieved in a prior call to get_header, then the cached entry is returned.

It returns undef on failure.


Not currently implemented. Returns 0.

update_message($msg_number, $mref)

Not currently implemented. Returns 0.


Returns 1 if the foldername either starts with the string 'news://' or starts with the string '#news:' and the NNTPSERVER environment variable is set, otherwise return 0;


Not currently implemented. Returns 0.


Kevin Johnson <>


Copyright (c) 1997-1998 Kevin Johnson <>.

All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.