1) What's "gnus-offline (Gnus Offline Backend Utility)" ? ========================================================= This program is a utility for Semi-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.10.056 or later, and Semi-gnus 6.10.1 or later. (*) (*) T-gnus is based on the latest test version of Gnus. It is called Pterodactyl Gnus or pGnus. Most versions of Semi-gnus other than T-gnus are based on Gnus version 5.6.xx. There are a lot of changes between Gnus 5.6.xx and pGnus. This document will refer to the differences caused by the changes when it is important. 2) Installation =============== As you are reading this document, this version of Semi-gnus includes gnus-offline. Installation is simple. "make install" will automatically install "gnus-offline". If the Semi-gnus comes without gnus-offline, or you want to install the latest version of gnus-offline, you may manually byte-compile "gnus-offline.el" and "gnus-ofsetup.el". Make sure they are in one of the `load-path' directories. 3) How to use ============= o First, you must do a general setup for Semi-gnus (See info about the setup). o Add the following code to ~/.emacs (load "gnus-ofsetup") (gnus-setup-for-offline) (load gnus-offline-setting-file) 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 and decide which groups to subscribe (See info about subscribing). o Add the following code to ~/.gnus (gnus-agent-toggle-plugged nil) That's all. Restart Gnus and try typing "g" in the *Group* buffer. ***Note*** Most versions of Semi-gnus have pop3-fma.el to operate multiple POP accounts. T-gnus 6.10.56 or later does not because it can handle multiple POP accounts itself. <<<<>>>> T-gnus 6.10.56 or later doesn't contain "pop3-fma.el". If you are updating to T-gnus 6.10.56 or later, remove the setting for pop3-fma.el (or simply, delete the old ~/.gnus-offline.el). [Semi-gnus with pop3-fma.el] o pop3-fma-spool-file-alist     '( ("po:account1@pop-server1" pass) ("po:account2@pop-server2" pass) : : )) o pop3-fma-movemail-type use movemail.exe ('exe) or pop3.el('lisp) [T-gnus 6.10.56 or later] o gnus-offline-mail-source '( (pop :user "manbou" :server "pop.ceres.dti.ne.jp") (pop :user "imp9397" :server "mvb.biglobe.ne.jp") : : ) 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. o gnus-offline-pop-password-file File name to save username , mailserver and password. o gnus-offline-pop-password-decoding-function Function to decode password. 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-toggle-movemail-program Toggle movemail program. 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 =========================================== <<<<>>>> T-gnus 6.10.56 or later doesn't contain "pop3-fma.el". If you are updating to T-gnus 6.10.56 or later, remove the setting for pop3-fma.el (or simply, delete the old ~/.gnus-offline.el). Under Semi-gnus with pop3-fma.el, you must enter the password for the pop server every time you accesses the server. (We recommend you do it.) If your machine is stand alone, and nobody else uses it, you can save the password in some ways. (But, on your own responsibility!) --- One way is provided by gnus-ofsetup.el. 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. [Semi-gnus with pop3-fma.el] (add-hook 'gnus-setup-news-hook (lambda () (setq pop3-fma-save-password-information t) (add-to-list 'gnus-variable-list 'pop3-fma-password))) [T-gnus 6.10.56 or later] (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! --- There is another way. It will not save the password in a file but keep it in the memory as a variable. For Semi-gnus with pop3-fma.el, add the following code in ~/.gnus-offline.el. (setq pop3-fma-save-password-information t) In this way, once you enter the password at the startup of Gnus, it will be kept as a variable `pop3-fma-password' until you quit Gnus. Under T-gnus 6.10.56 or later, the password will be kept as a variable `mail-source-password-cache' by default.