1) gnus-offline (Gnus Offline Backend Utility)って何? これは Semi-gnus でメッセージをより容易にオフライン環境で扱うためのユー ティリティです。 主として Semi-gnus の `Agent' と呼ばれる機能のために書か れています。 また、gnspool などの外部プログラムを用いた nnspool でも使うことができま す。また、別途配布の miee.el を送信に使用することも可能です。 (*) nspool については info を参照してください。 (*) gnspool は gn というニュースリーダーと共に配布されています。 (*) miee.el の最新版は以下の場所から取得できます。 http://www.shiojiri.ne.jp/%7Et-ichi/meadow.html ;; gnus-offline を使わなくてもオフラインでの読み書きは出来ますが、 ;; gnus-offline を使えばより設定・操作が簡単に出来ます。 具体的には ・動作に必要な変数の対話的設定が可能 ・グループバッファで“g”とタイプするだけで ダイアルアップ->メイルおよび ネットニュースの送受信->ダイアルアップの切断 という動作を一気に行うこと が可能になります。(ただし接続・および切断は別途専用のツールが必要です) なお、このドキュメントでは主に T-gnus 6.10.56 以降および Semi-gnus 6.10.1 以降に附属する gnus-offline.el について、送受信ともに gnus-agent を使うことを前提に解説します。 (*) (*) T-gnus は Gnus のテストバージョンをベースにしています。これは Pterodactyl Gnus または pGnus と呼ばれています。 一方 Semi-gnus の多くのバージョンは Gnus 5.6 系列をベースにし ています。 両者では gnus-offline の設定において異なる部分があります。 この文書では必要に応じ、これらの違いについて説明しています。 2) インストール T-gnus をお使いの場合、gnus-offline.el は特に何も考えなくても T-gnus と 同時にインストールされます。そうでない場合は load-path の通ったディレク トリに gnus-offline.el と gnus-ofsetup.el を(バイトコンパイルして)置きま す。 3) 使い方 ・Semi-gnus の一般的な使用方法について info などで調べて設定してください。 ・以下のコードを .emacs に加えます。 (load "gnus-ofsetup") (gnus-setup-for-offline) (load gnus-offline-setting-file) ・以下のコードを .gnus に加えます。 (gnus-agentize) ・Emacs を再起動します。すると、gnus-ofsetup.el が起動しますので、対話的 に必要な変数の設定を行います。(何を入力したらいいかわからない場合は 4) を参照するか、TAB で入力可能な候補を一覧表示させるかしてください)すべて 設定するとホームディレクトリに .gnus-offline.el というファイルが出来上が ります。(*) (*) 「POP パスワードを ~/.newsrc.eld に保存するかどうか」質問され ます。これにはよく考慮した上で答えてください。詳しくは 6) を参 照して下さい。 ・このあと一旦オンラインでサーバーに接続して、購読するグループを決めてく ださい。(詳しい方法は Gnus の info を見てください) ・.gnus に以下のコードを加えます。 (gnus-agent-toggle-plugged nil) これで Gnus を再起動すればグループバッファで“g”とタイプすることにより 前記の動作をするはずです。 また、T-gnus 6.10.56 以降のものでは Gnus 自体が複数のメイルアカウントを 扱えます。(6.10.55 以前の T-gnus でも同梱の pop3-fma.el を用いても複数の メイルアカウントを管理することが出来ます。) <<<<<< 注意 >>>>>>>>>>> T-gnus 6.10.56 以降のバージョンには pop3-fma.el は含まれていません。バー ジョンアップされた方は既存の pop3-fma.el の設定は外してください。 (既存の .gnus-offline.el を消すのがもっとも簡単です) 【Semi-gnus + pop3-fma.el】 ・pop3-fma-spool-file-alist     '( ("po:アカウント1@popサーバ1" pass) ("po:アカウント2@popサーバ2" pass) : : )) ・pop3-fma-movemail-type メイル受信に movemail.exe を使う('exe)か pop3.el('lisp) を使うか。 【T-gnus 6.10.56〜】 代わりに以下のような設定がされます。 ・gnus-offline-mail-source '( (pop :user "manbou" :server "pop.ceres.dti.ne.jp") (pop :user "imp9397" :server "mvb.biglobe.ne.jp")     …………………… ) 4) gnus-offline で設定可能な変数一覧 ・gnus-offline-dialup-program ダイアルアップするプログラム名 ・gnus-offline-dialup-program-arguments ダイアルアッププログラムの引数のリスト 例えば、gnus-offline-dialup-program に "-s AAA" を渡す場合は (setq gnus-offline-dialup-program-arguments '("-s" "AAA")) と記述してください。 ・gnus-offline-hangup-program 回線を切断するプログラム名 ・gnus-offline-hangup-program-arguments 切断するプログラムの引数のリスト 例えば、gnus-offline-hangup-program に "-s AAA" を渡す場合は (setq gnus-offline-hangup-program-arguments '("-s" "AAA")) と記述してください。 ・gnus-offline-mail-spool-directory 送信メールのスプールディレクトリ Offline 状態で Mail を送信すると一旦ここで指定したディレクトリに保存され ます。 MIEE を使用する場合以外無効です。 ・gnus-offline-news-spool-directory 送信ニュースのスプールディレクトリ Offline 状態で News を送信すると一旦ここで指定したディレクトリに保存され ます。 MIEE を使用する場合以外無効です。 ・gnus-offline-mail-treat-environ Mail の送信を Online/Offline で行う事を切り替える ・gnus-offline-articles-to-fetch fetch する記事を切り替える both->mail->news->both... 'both ... Mail/News を両方受信 'Mail ... Mail だけ受信 'News ... News だけ受信 デフォルト値は 'both です。 ・gnus-offline-load-hook gnus-offline が load されるときに評価される hook ・gnus-offline-before-online-hook Online job 直前に評価される hook ・gnus-offline-after-online-hook Online job 終了直前に評価される hook ・gnus-offline-interval-time Online job を行う間隔(分) Emacs が idle 状態になってからここで指定した時間毎に Online 状態にし Mail/News を取得します。 ・gnus-offline-MTA-type Message を Online 時に送信するプログラムのタイプで、デフォルトは 'smtp です。 'smtp ... smtp.el を使用 'sendmail ... sendmail.el を使用 ・gnus-offline-drafts-queue-type 送信メッセージをキューに溜めるもののタイプで、デフォルトは 'miee です。 'miee は miee.el を使用. 'agent は gnus-agent.el を使用. ・gnus-offline-after-empting-spool-hook 送信メッセージのキューを空にする前に評価される hook ・gnus-offline-before-empting-spool-hook 送信メッセージを送信後に、空になった後評価される hook ・gnus-offline-dialup-function 接続に使用する関数名 ・gnus-offline-hangup-function 切断に使用する関数名 ・gnus-offline-mail-source メールサーバー、ユーザー名のリスト ・gnus-offline-pop-password-file ユーザー名、メールサーバー、パスワードを保存するためのファイル名 ・gnus-offline-pop-password-decoding-function パスワードを保存する際の暗号化を行うための関数。 5) gnus-offline M-x で実行可能なコマンド一覧 ・M-x gnus-offline-toggle-plugged offline 状態/Online 状態を切替えます。 ・M-x gnus-offline-toggle-auto-hangup offline 状態にします。 ・M-x gnus-offline-toggle-on/off-send-mail Online 状態/Offline 状態での Mail 送信状態を切替えます。 Online 状態では直接送信しますが、Offline 状態では一旦 spool に書き込み、 "g" を押した時に全部送信されます。 ・M-x gnus-offline-toggle-articles-to-fetch 取得する記事を選択します。both -> mail -> news -> both ... のように 切り替わります。 ・M-x gnus-offline-toggle-movemail-program movemail プログラムを切替えます。 ・M-x gnus-offline-set-interval-time 記事/Mail の取得、送信を自動的に行う間隔(分)を設定します。 この間隔は Emacs が Idle になってからの時間です。 ・M-x gnus-offline-agent-expire 既読の記事を expire します。 6)【!!!重要!!!】 pop パスワードの管理方法について ;;;バージョンにより異なる部分が多いのでご注意ください。またこの部分は今 ;;;後も改訂されることが予想されます。 <<<<<< 注意 >>>>>>>>>>> T-gnus 6.10.56 以降のバージョンを使用する方は pop3-fma.el は含まれていま せん。Gnus が複数の POP3 アカウントを扱えるようになりましたので、 バージョンアップされる際は既存の pop3-fma.el の設定は外してください。 Semi-gnus + pop3-fma.el では、デフォルトでは pop サーバのパスワードは pop サーバーにアクセスする度に入力する必要があります。(基本的にこのまま にしておくことを推奨します) しかし、「これだと面倒だしどうせ自分一人しか使わないコンピュータだからそ れほどパスワードの管理には注意を払う必要がない」という場合にはいくつかの (手間を省く)方法があります。ただし、当然パスワードを盗まれる危険は増しま すので以下の方法のいずれかを実行する際には 100% 自己の責任のもとで行って ください。 <方法1> 初回起動時の gnus-ofsetup.el による変数設定の際、(=~/.gnus-offline.el が ないとき)パスワードを ~/.newsrc.eld に保存するかどうか質問され、“y”と 答えると保存されるようになります。 (*) (*) 実際には ~/.gnus-offline.el に以下のコードが追加されます。 【Semi-gnus + 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 以降】 (add-hook 'gnus-setup-news-hook (lambda () (add-to-list 'gnus-variable-list 'mail-source-password-cache))) ただしこの場合は保存されるパスワードは平文のままなのでかなり危険であるこ とをご承知のうえお使いください。 <方法2> パスワードをファイルに残しては置きたくないがメモリ上に変数として残っ ていても構わない、という場合は、~/.gnus-offline.el に以下のようなコード を加えてください。 (setq pop3-fma-save-password-information t) こうすることにより、パスワードは Gnus 起動時に入力するだけになります。 パスワードは pop3-fma-password という変数として保持されます。 T-gnus 6.10.56 以降のバージョンを使用する方は特に設定しなくてもこれと同 じ状態がデフォルトになっています。パスワードは mail-source-password-cache という変数に保持されます。