1) What's "gnus-offline (Gnus Offline Backend Utility)" ?
=========================================================

This program is a utility for T-gnus that handles messages
(i.e. mail and news) in the "offline" state in a more simple way.

It is basically designed for "gnus-agent". (See info about gnus-agent.)

You can also use it with a function "nnspool"(*1) (which needs an
external program such as "gnspool"(*2) ), or with "miee.el"(*3) for
posting and/or sending messages.

     (*1) See info about nnspool.
     (*2) gnspool comes with a newsreader "gn".
     (*3) The latest version of miee.el (or MIEE) is available at
          http://www.shiojiri.ne.jp/%7Et-ichi/meadow.html

You can handle messages in the offline state without "gnus-offline",
but "gnus-offline" provides a simple way for setup and operation.

**Features**

o Simple configuration -- An "INTERACTIVE" configuration to set
         the variables.

o Simple operation -- Type "g" in the *Group* buffer, and gnus-offline
         will:
           o Dial (*)
           o Send mails & post news articles
           o Fetch new mails & articles
           o Hang up (*)

      (*) For dialing and hanging up, external softwares are needed.
          But you can do without ones if you connect and disconnect
          manually.

This document is written mainly for the case using "gnus-agent" with
gnus-offline.el bundled in T-gnus 6.12.0 or later.

2) Installation
===============

As you are reading this document, this version of T-gnus includes
gnus-offline. Installation is simple. "make install" will
automatically install "gnus-offline".

3) How to use
=============

o First, you must do a general setup for T-gnus (See info about the
  setup).

o Add the following code to ~/.emacs

        (autoload 'gnus-plugged "gnus-agent" nil t)
        (autoload 'gnus-unplugged "gnus-agent" nil t)

o Add the following code to ~/.emacs

	(load "gnus-ofsetup")
    	(gnus-setup-for-offline)

o Add the following code to ~/.gnus

	(gnus-agentize)

o Restart Emacs. gnus-ofsetup.el will ask you some questions and
 create ~/.gnus-offline.el. (*)

      (*) If you don't know how to answer some questions, typing "TAB"
          key may show you the possible answers. See the next section
          which explains the user options.
          You will also be asked whether to save the POP password in
          ~/.newsrc.eld or not. Answer it carefully. See section 6)
          for details.

o At the first time, you must start Gnus in the online state
 (by M-x gnus-plugged) and decide which groups to subscribe (See info
 about subscribing).

 From now on you can start Gnus as an offline reader by M-x gnus-unplugged.
 Try typing "g" in the *Group* buffer.

o You may want M-x gnus to start Gnus as an offline reader as
 M-x gnus-unplugged. Then write the following code to ~/.emacs

	(setq gnus-plugged nil)

 you can put it into ~/.gnus if there's no need to start Gnus as an online
 reader (by M-x gnus-plugged).

4) User customizable variables in gnus-offline
==============================================

o gnus-offline-dialup-program
    Program name to dialup.

o gnus-offline-dialup-program-arguments
    List of dialup program arguments.

o gnus-offline-hangup-program
    Program name to hangup.

o gnus-offline-hangup-program-arguments
    List of hangup program arguments.

o gnus-offline-mail-spool-directory
    Spool directory for sending mail.
    This variable is available only using MIEE.

o gnus-offline-news-spool-directory
    Spool directory for sending news.
    This variable is available only using MIEE.

o gnus-offline-mail-treat-environ
    If t , gnus-offline sends mail to spool first.
    If nil , gnus-offline sends mail immediately.

o gnus-offline-articles-to-fetch
    Article type you want to fetch.

       'both ... Fetch both Mail/News.
       'Mail ... Fetch only Mail.
       'News ... Fetch only News.

    Default value is both.

o gnus-offline-load-hook
    Hook before gnus-offline load.

o gnus-offline-before-online-hook
    Hook before all online jobs.

o gnus-offline-after-online-hook
    Hook after all online jobs.

o gnus-offline-interval-time
    Interval time to do all online jobs.(minutes)

o gnus-offline-MTA-type
    MTA type to sending mail.

   'smtp     ... Use smtp.el.
   'sendmail ... Use sendmail.el.

o gnus-offline-drafts-queue-type
   Message queue type when spooling message.

   'miee  ... Use miee.el.
   'agent ... Use gnus-agent.el.

o gnus-offline-after-empting-spool-hook
   Hook before empting spool.

o gnus-offline-before-empting-spool-hook
   Hook after emoting spool.

o gnus-offline-dialup-function
   Function to dialup.

o gnus-offline-hangup-function
   Function to hangup.

5) Commands in gnus-offline
===========================

o M-x gnus-offline-toggle-plugged
   Toggle offline/online state.

o M-x gnus-offline-toggle-auto-hangup
   Change current state to offline.

o M-x gnus-offline-toggle-on/off-send-mail
   Toggle method to sending mail.

o M-x gnus-offline-toggle-articles-to-fetch
   Toggle articles you want to fetch.

o M-x gnus-offline-set-interval-time
   Set interval time(minute) to fetch article.

o M-x gnus-offline-agent-expire
   Expire articles.

6) [!!!IMPORTANT!!!] About the pop password
===========================================

If your machine is stand alone, and nobody else uses it, you can save
the password. (But, on your own responsibility!)

At the first interactive configuration, it will ask you whether to
save the password in ~/.newsrc.eld or not. When you answer "y" to this
question, the password will be saved in ~/.newsrc.eld. (*)

       (*) Actually the following will be added to ~/.gnus-offline.el.

	    (add-hook
	     'gnus-setup-news-hook
	     (lambda ()
	       (add-to-list 'gnus-variable-list 'mail-source-password-cache)))

Answer this question carefully, because the password will NOT be
encoded!
