1) What's "gnus-offline (Gnus Offline Backend Utility)" ? This program is a utility to handle messages(mail & news) in "offline" status with Semi-gnus in more simple way. It designed mainly for "gnus-agent". So, you can use it with function "nnspool" (which needs external programs (such as "gnspool")). And also with "Miee.el" (for only posting/sending). ;; Of course, you can handle messages in offline status without ;; "gnus-offline", but using "gnus-offline" provides you a simple way ;; to setup and operation. **Features** o Simple configuration -- An "INTERACTIVE" way to set variables for configuration. o Simple operation -- Only typing "g" on *Groups* buffer, then "dialing -> sending mails & posting news articles, and fetch new mails & articles -> hang-up line".(For automatic dialing and hang-up, some external software needed.) So, this document is written for using "gnus-agent",mainly for bundled with T-gnus 6.10.56 or later. 2)Installation If you use "gnus-offline" with "T-gnus", installation is very simple. It would automatically install with "T-gnus". If not, you may byte-compile "gnus-offline.el" and "gnus-ofsetup.el", and set load-path. 3) How to use o First, you must set up general configuration for Semi-gnus.(See info) o Add following code to your ~/.emacs (load "gnus-ofsetup") (gnus-setup-for-offline) (load gnus-offline-setting-file) o Add following code to your ~/.gnus (gnus-agentize) o Please restart emacs. Then, gnus-ofsetup.el ask you some questions (when you don't know how to answer,see next section of this document or type "TAB" key for completion) and then gnus-ofsetup.el will creates ~/.gnus-offline.el. o At first time, you must connect "online" status for subscribe group.(See info) o Add following code to ~/.gnus (gnus-agent-toggle-plugged nil) Then restart Gnus and try to type "g" on *Groups" buffer. ***Note*** In T-gnus 6.10.56 or later,"pop3-fma.el" doesn't need for multiple mail-accounts. <<<<>>>> T-gnus 6.10.56 or later doesn't contain "pop3-fma.el". So if you had use T-gnus 6.10.55(or older) and update to 6.10.56(or later), change your settings.(most simple way is deleting old ~/.gnus-offline.el.) [6.10.55 or older] 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) [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") : : ) 3)User definable 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 immediatry. 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-popup-menu Whether use menu. 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. 4)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. 5)[!!!IMPORTANT!!!] About pop password <<<<< ATTENTION >>>>> T-gnus 6.10.56 or later doesn't contain "pop3-fma.el". So if you had use T-gnus 6.10.55 or older, and update to 6.10.56 or later, change your configuration.(most simple way is deleting old ~/.gnus-offline.el.) In T-gnus 6.10.55 or older, you must enter password for pop server per accesses.(This way is recommended.) If your machine is stand alone, and nobody but you use it, you can save password in some way.(Of course, it is in your responsibility!) The first way to save password(it is not save in file but in memory as variable), add following code in your ~/.gnus-offline.el. (setq pop3-fma-save-password-information t) In this way, you must enter password only at startup of Gnus. (In T-gnus 6.10.56 or later, this status is default.) --- The other way (save password in file but not save in memory) is following. o Add following code to ~/.gnus-offline.el (setq gnus-offline-pop-password-file "~/.pop.passwd") o In T-gnus 6.10.56 or later, comment out following code in ~/.gnus-offline.el. (require 'read-passwd) (setq mail-source-read-passwd 'read-pw-read-passwd) (add-hook 'gnus-before-startup-hook 'read-pw-set-mail-source-passwd-cache) o Create password-file (e.g.~/.pop.passwd) [T-gnus 6.10.55 or older] (setq pop3-fma-password '(("SERVER1" "ACCOUNT1" "PASSWORD1") ("SERVER2" "ACCOUNT2" "PASSWORD2") ............................ )) [T-gnus 6.10.56 or later] (setq mail-source-password-cache '(("SERVER1:ACCOUNT1:pop3" . "PASSWORD1") ("SERVER2:ACCOUNT2:pop3" . "PASSWORD2") ............................ )) To prevent accidents, encoding this file with Base64 is recommended. For this purpose, M-: (base64-encode-region (point-min) (point-max)) can be used. If you don't need encoding, add following code to ~/.gnus-offline.el. (setq gnus-offline-pop-password-decoding-function nil) But it is so dangerous!! ^^^^^^^^^^^^^^^^^^^^^^^^ ;;; In T-gnus 6.10.57 (or later), gnus-ofsetup.el will ask you whether ;;; save password to ~/.newsrc.eld or not. When you answer "y" to this ;;; question, your password might be saved to ~/.newsrc.eld. But in ;;; this way, be careful to answer "y", because your saved password is ;;; NOT encoded!(of course, you can use above way to save password.)