[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56. gnus の基本的な使い方 (2006/02/19)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=gnus"
"MeadowMemo/gnusの基本的な使い方"へのコメント(無し)
検索全文Elisp


この章で紹介していること

ここでは gnus の基本的な使い方を紹介します.基本的な使い方とは,メールを読み書き する,フォルダごとに振り分ける,添付ファイルを使う,アドレス帳を使うといった内容 です.それ以上のことは,57. gnus をもっと便利に使おう (2007/12/06) で紹介していきます.

gnus (スクリーンショット) は標準で附属しているメール/ ニュー スリーダです.これを動かすには flim/semi が必要ですが,これも Meadow には標準で 附属しています.

gnus は Meadow 上で動くために慣れたエディタで編集ができ,以下の特徴を有していま す.

もちろん, 欠点もあります. 一番大きいのは導入時の障壁です. 設定項目が多く, ヘルプ も膨大でまず何をしていいのやらさっぱり分かりません. そのため, メールが読めればそ れでいい. という人にはとても勧められないのが現実です.そこで,少しでもその障壁を 低くするために,説明していきます.

gnus の設定は ~/.emacs と ~/.gnus という 2 つのファイルで行います. .emacs には gnus を動かすための設定と gnus が動く前でないと動かない設定を書き, .gnus には gnus の設定を書くという形になります.

悩んだ時にはヘルプ (gnus-ja) も参照してくださ い.

gnus を動作させるのに必要な条件は

です. これ以外のパッケージやプログラムは必要ありません.

以下の説明では,

 
T-gnus/6.15.8 (based on Oort Gnus v0.08) (revision 04)
SEMI/1.14.4 (Hosorogi)
FLIM/1.14.5 (Demachiyanagi)
APEL/10.4

のバージョンでの使用を前提としています. これより以前のバージョンですと, 一部機能 がない場合もありえますので, 必ず最新版を使うようにしてください



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.1 gnus 関連の情報が得られるところと入使先 (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=gnus%20link"
"MeadowMemo/gnus関連の情報が得られるところと入使先"へのコメント(無し)
検索全文Elisp

一次入手先は

これらについては,http://cvs.m17n.org/archives/ でもダウンロードできます.

です.

最新版を使うためには, cvs を利用します

 % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root login
 CVS password: [CR] # NULL string 
 % cvs -z9 -d :pserver:anonymous@cvs.m17n.org:/cvs/root co apel
 % cvs -z9 -d :pserver:anonymous@cvs.m17n.org:/cvs/root co -r flim-1_14 -d flim-1.14 flim
 % cvs -z9 -d :pserver:anonymous@cvs.m17n.org:/cvs/root co -r semi-1_14 semi
 % cvs -z9 -d :pserver:anonymous@cvs.m17n.org:/cvs/root co -r t-gnus-6_16-quimby gnus
 % cvs -z9 -d :pserver:anonymous@cvs.m17n.org:/cvs/root co bitmap-mule

のようにすると,最新版をダウンロードできます.これらは一回やるだけで,次回からは

 % cd ~/CVSROOT
 % cvs update -dP

で,最新版をダウンロードできます.変更されたものだけ持ってこれるので,時間も短くてすみます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.2 gnus のインストール (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=install%20gnus"
"MeadowMemo/gnusのインストール"へのコメント(無し)
検索全文Elisp

http://www.meadowy.org/meadow/dists/1.15/setup.exeを使うと簡単にインストー ルできます. 合わせて, apel/flim/semi もインストールしておきます.

以下, 手動でのやり方です

http://www.jpl.org/elips/ よりダウンロードし, ダウンロードしたファイルを解 凍します (CVS 経由でもいい).

続いて bash を起動して, 解凍したフォルダへ移動し, 以下を記入します.

 
./configure --with-emacs=meadow
make all-ja

しばらくすると, gnus/lisp に拡張子が elc というファイルができます

次に, Meadow をインストールしたディレクトリ の中に 1.15/site-lisp というフォルダ があります. site-lisp の中に t-gnus というフォルダを作り, この中に gnus/lisp 以 下のファイルをコピーします.

これで, インストールは完了です.

gnus を使う前に emacs-w3m もインストールしておくことをお勧めします. インストール しておくと, HTML メールや朝日新聞なども読むことができます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.3 gnus のための設定 (2006/02/19)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=gnus%20setup"
"MeadowMemo/gnusのための設定"へのコメント(無し)
検索全文Elisp

56.3.1 .emacs に書く設定 (2006/02/19)  
56.3.2 .gnus に書く基本的な設定 (2004/02/24)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.3.1 .emacs に書く設定 (2006/02/19)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=gnus%20config"
"MeadowMemo/.emacsに書く設定"へのコメント(2007/12/28)
検索全文Elisp

.emacs に書く基本的な設定は以下の通り

人によっては不要なところもあると思いますので, その場合は削除してください.

 
(setq gnus-use-mailcrypt nil) ;; mailcrypt は使わない
(setq gnus-use-sc nil) ;; super-cite も使わない
(load "gnus-setup") ;; 必須
(setq mail-user-agent 'gnus-user-agent)

;; gnus のディレクトリやファイルを設定
;; デフォルトで問題なければ以下 5 行の設定は必要ない
(setq nnshimbun-directory (expand-file-name "~/News/shimbun/"))
(setq gnus-home-directory (expand-file-name "~/"))
(setq gnus-directory (expand-file-name "~/News/"))
(setq message-directory (expand-file-name "~/News/"))
(setq nnmail-message-id-cache-file (expand-file-name "~/News/.nnmail-cache"))

;;日本語の添付ファイル名を正しく表示
;;これがないと化けます.
(defvar my-mime-filename-coding-system-for-decode
  '(iso-2022-jp japanese-shift-jis japanese-iso-8bit))
(defun my-mime-decode-filename (filename)
  (let ((rest (eword-decode-string filename)))
    (or (when (and my-mime-filename-coding-system-for-decode
                   (string= rest filename))
          (let ((dcs (mapcar (function coding-system-base)
                             (detect-coding-string filename))))
            (unless (memq 'emacs-mule dcs)
              (let ((pcs my-mime-filename-coding-system-for-decode))
                (while pcs
                  (if (memq (coding-system-base (car pcs)) dcs)
                      (setq rest (decode-coding-string filename (car pcs))
                            pcs nil)
                    (setq pcs (cdr pcs))))))))
        rest)))
(eval-after-load "mime"
  '(defadvice mime-entity-filename (after eword-decode-for-broken-MUA activate)
     "Decode encoded file name for BROKEN MUA."
     (when (stringp ad-return-value)
       (setq ad-return-value (my-mime-decode-filename ad-return-value)))))

;;html メールを読まないなら以下を設定 (コメントをはずす)
;;ただし
;; w3 か w3m がインストールされていない時には nil にします
;;(setq mime-setup-enable-inline-html nil)
;; plain/text が附属していない時のみ
;;(eval-after-load "semi-setup"
;;   '(progn
;;      (set-alist 'mime-view-type-subtype-score-alist '(text . plain) 10)
;;      ))

;; html メールは w3m (11.4 テキストブラウザ - w3m) で読む
;; w3m がインストールされている時のみコメントをはずす
;;(eval-after-load "mime-view"
;;   '(progn
;;      (autoload 'mime-w3m-preview-text/html "mime-w3m")
;;      (ctree-set-calist-strictly
;;       'mime-preview-condition
;;       '((type . text)
;;         (subtype . html)
;;         (body . visible)
;;         (body-presentation-method . mime-w3m-preview-text/html)))
;;      (set-alist 'mime-view-type-subtype-score-alist
;;                 '(text . html) 3)))

;;オフラインでもメール/ ニュースを読み書きしたいので以下を設定
;;設定ファイルは別のフォルダへ.デフォルトは ~/.gnus-offline.el
(setq gnus-offline-setting-file "~/data/.gnus-offline.el") ;; なくてもよい
(load "gnus-ofsetup")
(gnus-setup-for-offline)
(load gnus-offline-setting-file)

さらに, ~/.mailcap というファイルを作成し, 以下を記入します.

 
audio/*; fiber -s %s
application/*; fiber -s %s
image/*; fiber -s %s

これで, Meadow を再起動すると, メール/ニュースの設定を聞いてきます.

以下, 回答例.

  1. オフラインでニュースを読む方法を選んでください

    分からなければ nnagent.

  2. Gnus Agent のディレクトリ:

    デフォルトのままRET

  3. ダイヤル接続プログラム名 (使わない場合は空文字列を返して下さい):

    コマンドラインで制御できるプログラムを持ってるなら指定. インターネットへの接続は 手動でする, あるいは常時接続なら, C-a C-kで全部消してから, RETで OK.

    プログラムを指定すると"ダイヤル接続プログラムの引数"も聞かれます

  4. ダイヤル切断プログラム名 (使わない場合は空文字列を返して下さい):

    接続プログラムと同じ. 全部消してRETで構いません

  5. メール送信に使う MTA を選んで下さい

    smtp を選択

  6. メッセージの送信に MIEE を使いますか?

    通常は使わないので n.

  7. 設定するメール取得先の数は? (後で追加できます):

    使用するメールアドレスの数を入れます

  8. メール取得先のタイプは?

    通常は pop

  9. メールのアカウント名:

    メールサーバに接続する ID を入力

  10. そのアカウントのあるメールサーバ名:

    pop サーバ名を入力

  11. 認証方式は?

    通常は password.

  12. メールの受信には pop3.el を使いますか?

    特に問題はないので, y

  13. newsrc ファイルに POP パスワードを保存しますか?

    個人の好みで. 保存する以上は誰かに見られる可能性があります. 共用しているパソコン では保存するべきではないでしょう

以下, .gnus の設定は上記のように答えた場合を想定しています. 間違っても ~/.gnus-offline.el を編集すれば変更できますし, 削除すれば再度同じように設定を聞 いてきます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.3.2 .gnus に書く基本的な設定 (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=dot%20gnus"
"MeadowMemo/.gnusに書く基本的な設定"へのコメント(無し)
検索全文Elisp

.gnus に書く基本的な設定は以下の通り. ;;要変更とあるところは, 適宜変更してください

 
;; メールの既読情報などが保存されるファイル
(setq gnus-startup-file "~/newsrc") ;;デフォルトで問題なし.;; メールアドレス
(setq user-mail-address "mail@zzz.or.jp") ;;要変更
;; メールの送信者欄に表示される名前
(setq user-full-name "zzz") ;;要変更
(setq gnus-local-domain "zzz.or.jp") ;;要変更
(setq message-user-organization "ZZZ") ;;要変更

;;news サーバの指定
;; 私はニュースを読まなので,以下のように設定してます.
(setq gnus-select-method '(nntp "")) ;;要変更
;;news を読む場合は
;;(setq gnus-select-method '(nntp "news.gmane.org"))
;;のように設定します

;; メールが大きくても分割しない
(setq mime-edit-split-message nil)
;; オンラインにするかどうかを尋ねない
(setq gnus-agent-go-online t)
;; オープンできないときはオフライン
(setq gnus-server-unopen-status 'offline)

;; メールなどを保存するディレクトリ
(setq nnml-directory "~/News/") ;;要変更

;; 送信したメールのコピーを保存する
(setq gnus-outgoing-message-group "nnml:archive") ;;要変更

;; メールの設定
(setq gnus-secondary-select-methods
      '((nnml "")))

;; smtp サーバの設定
(setq smtp-default-server "smtp.zzz.or.jp") ;;要変更
(setq smtp-local-domain "zzz.or.jp") ;;要変更
(setq mail-use-rfc822 t)
(setq smtp-debug-info t)
(setq message-kill-buffer-query-function 'nnheader-Y-or-n-p)

;; シグネチャの自動挿入はしない
;; デフォルトでは ~/.signature を自動挿入します
(setq message-signature nil
      mime-setup-use-signature nil)

;; 半角カタカナがあるかどうかをチェック
;; ネットをやる上でのマナーとして
(defun message-check-jisx0201 ()
  (interactive)
  (let ((beg (point-min))
        (end (point-max))
        debug-on-quit)
    (if (memq 'katakana-jisx0201 (find-charset-region beg end))
        (if (y-or-n-p "半角カタカナらしきものがあるけど全角に変換して送信する?")
            (let ((buffer-read-only nil)
                  (inhibit-read-only t))
               (japanese-zenkaku-region beg end t)
               t)
          (if (yes-or-no-p "本当に半角カタカナを送信しちゃうの? (^ ^)")
               t
             (signal 'quit nil)))
      t)))
(add-hook 'message-send-hook 'message-check-jisx0201)

;; decode ""
;; Outlook の送信者を正しく表示する
(defun eword-analyze-quoted-string (string start &optional must-unfold)
  (let ((p (std11-check-enclosure string ?\" ?\" nil start)))
    (if p
         (cons (cons 'quoted-string
                     (let ((str
                            (std11-strip-quoted-pair
                             (substring string (1+ start) (1- p)))))
                       (if (string-match eword-encoded-word-regexp str)
                           (eword-decode-encoded-word str)
                         (decode-mime-charset-string str default-mime-charset)
                         )))
               p)
      )))
;;decode "" end

(setq
  ;; x-rot13-47-48 も読めるように
  gnus-article-treat-types '("text/plain" "text/x-rot13-47-48")

  ;; 引用の色を付ける設定
  gnus-cite-minimum-match-count 1
  gnus-treat-highlight-citation '(and mime (or last t))

  ;; 強調表示を行う
  gnus-treat-emphasize t

  ;; ヘッダのハイライト
  gnus-treat-highlight-headers '(and mime head)
  gnus-treat-date-local '(and mime head)

  ;; xface を表示しない (bitmap などをインストールしていないと使えません)
  ;; 設定の仕方はそのうち
  gnus-treat-display-xface nil

  ;; スマイリーも表示しない (bitmap が必要)
  gnus-treat-display-smileys nil
  gnus-treat-display-picons nil

  gnus-treat-decode-message-body-as-default-mime-charset 'nomime
  gnus-treat-decode-article-as-default-mime-charset '(not head)
)

;; これはお好みで
;; (メールを書く時
;; この文字が挿入されます). デフォルトは \n[...]\n\n
(setq message-elide-ellipsis
      "-----8<-----(cut)-----8<-----\n") ;;要変更

;; これを指定しておくと
;; 指定した文字と From の一部が一致すれば自分で出したものと認識されますので
;; 適当に変えてください
(setq gnus-ignored-from-addresses "name") ;;要変更

(setq current-language-environment "Japanese")

;; オフラインでも使用したい
(gnus-agentize)

基本的な設定はこんなところです. 設定がうまくいっていれば M-x gnus で gnus が起動し, メールを取り込みます.

起動時にメールサーバに接続したくない時には, M-x gnus-unplugged で起動しま す. 起動後, g でメールを取り込めるはずです (このままではニュースは読めませ ん. グループの選択をする必要があります).

私は, .emacs に以下の設定を入れて, C-c C-n で gnus が起動するようにしてあります.

 
(global-set-key "\C-c\C-n" 'gnus-unplugged)

これで, 設定は終わりです. 基本の設定といいつつ, いろいろ入れていくとこんなになっ てしまったけど,まともに使おうと思うとこの程度は必要だと思います.

gnus 起動時にモードラインに変な■が出ていたら,画像ファイルがコピーできていませ ん. gnus に含まれている etc フォルダの中身を Meadow の etc フォルダの中へコピー して試してみてください.うまくいけば,モードラインに絵が表示されるはずです.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.4 ヘルプを読もう (2004/03/22)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=gnus%20info"
"MeadowMemo/ヘルプを読もう"へのコメント(無し)
検索全文Elisp

M-x help-for-help iでヘルプを読むことができます. gnus-ja というのがありま すので, カーソルをもっていき, RETとします. 日本語ですので, 困ったら読んで みてください.

gnus-ja という項目がなければ, C-u M-x help-for-help i e:/usr/Meadow/1.15/info/gnus-ja のようにすれば読むことができま す. HTML に変換したものも あります.

内容が膨大で, どこに求めるものがあるのか分かりにくいですが. .

また, gnus を利用している時にC-c TABとすると,現在最も適切なヘルプが表示 されます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.5 gnus の各バッファについて (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=gnus%20buffer"
"MeadowMemo/gnusの各バッファについて"へのコメント(無し)
検索全文Elisp

gnus はグループバッファ (Group Buffer), 概略バッファ (Summary Buffer), 記事バッ ファ (Article Buffer) , サーババッファからなっています.

56.5.1 グループバッファ (2004/02/24)  
56.5.2 概略バッファ (2004/02/24)  
56.5.3 記事バッファ (2004/02/24)  
56.5.4 サーババッファ (2004/02/24)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.5.1 グループバッファ (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=group%20buffer"
"MeadowMemo/グループバッファ"へのコメント(無し)
検索全文Elisp

グループバッファとはメールやニュースのグループを表示するバッファで す. グループバッファのスクリーンショットを見ると分かると思いま すが, いろんなフォルダに振り分けられたメールフォルダが見てとれると思います.

ここで, グループへカーソルを移し, RETSPCを押すと, 概略バッファへ入 ることができます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.5.2 概略バッファ (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=summary%20buffer"
"MeadowMemo/概略バッファ"へのコメント(無し)
検索全文Elisp

概略バッファとはメールやニュースの一覧を表示するバッファです. 概略バッファのスクリーンショットのように, 記事の Subject 一覧が表示されます.

ここで, 記事へカーソルを移し, RETSPCを押すと, そのメールを表示でき ます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.5.3 記事バッファ (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=article%20buffer"
"MeadowMemo/記事バッファ"へのコメント(無し)
検索全文Elisp

記事バッファとは文字通りメールやニュースを表示するバッファで す. 記事バッファのスクリーンショットのように, 記事の内容が表 示されます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.5.4 サーババッファ (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=server%20buffer"
"MeadowMemo/サーババッファ"へのコメント(無し)
検索全文Elisp

gnus のサーババッファ

サーババッファとは pop サーバやニュースサーバを一覧表示し, 設定を行うためのバッ ファです



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.6 メール/ニュースの基本操作 ― 返信/読む/返信/転送など (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=mail%20opp"
"MeadowMemo/メール/ニュースの基本操作―返信/読む/返信/転送など"へのコメント(無し)
検索全文Elisp

メールソフトとして使うための最低限の使い方について説明します.

ただし, ニュースは読まなくなったので, ニュースについてはほとんど触れていませ ん. ニュースを読む際にはヘルプを参照してください.

56.6.1 メール/ニュースを取り込むには (2004/02/24)  
56.6.2 メール/ニュースを読むには (2004/02/24)  
56.6.3 メールを振り分けるには (2004/02/24)  
56.6.4 メールを書くには ― 新規/返信/添付ファイル (2004/02/24)  
56.6.5 メールを整理するには (2004/02/24)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.6.1 メール/ニュースを取り込むには (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=get%20message"
"MeadowMemo/メール/ニュースを取り込むには"へのコメント(無し)
検索全文Elisp

g でメール/ニュースの取得ができます. メールだけであれば, gを押すだけ で取り込めるはずです. この時, ミニバッファ (画面の一番下) にメールを取り込んでい るメッセージが出ていれば問題ありません.

初めての受信が終わったら, Fを押して受信したメールフォルダを表示します. す ると, メールを受信したフォルダが出てきます.

ニュースを取得するにはgで受信する前に, 講読するグループを選択する必要があ ります. そのため, gnus を起動した時の画面 (以下, グループバッファと呼びます) で, ^ を押しサーバーバッファに移動します. gnus-agent がオフライン状態ならば J j でオンラインにしておきます.

サーバーバッファは例えば以下のようになっていると思います

 
     {nnml:} (opened)
     {nndraft:} (opened)
     {nntp:} (opened)

nntp の行が opend になっていなければ, C O と入力すれば opend になると思い ます. opend になっていれば, カーソルを持っていき, RET を入力すると, グルー プの一覧が表示されますので, 好きなグループをuで選択していきます.

選択が終わればサーバーバッファに戻り, {nntp:} (opened) の行で J a と入力し ます. これにより, ニュース (nntp) を gnus-agent により送受信を行うことができます. gnus-agent とはオフラインでもメールやニュースを読むことができるようにする機能で す. つまり, J a と入力することにより, そのグループはオフラインで使うことが できるようになります. ただし, nnml や nndraft は gnus-agent を使う必要はありませ ん

これで, g によりメール/ニュースの取得ができるようになります.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.6.2 メール/ニュースを読むには (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=read%20message"
"MeadowMemo/メール/ニュースを読むには"へのコメント(無し)
検索全文Elisp

メールが受信できたら読むのは簡単. グループを選んで, SPC(RETでもい い. ただし, RETはグループに入るだけなので, 2 回押す必要有り) でメールが表 示されます. あとはSPCだけで, どんどん読んでいけます

基本的なキーバインド (ただし, カーソルが概略バッファにある時)



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.6.3 メールを振り分けるには (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=split%20message"
"MeadowMemo/メールを振り分けるには"へのコメント(無し)
検索全文Elisp

とりあえず読めるようになったら, 適当なフォルダへ振り分けたいですよね.

 
;; 振り分け時のヘッダリスト
(setq
 nnmail-split-abbrev-alist
 '((any
    . "from\\|to\\|cc\\|sender\\|apparently-to\\|resent-from\\|resent-to\\|resent-cc")
   (mail . "mailer-daemon\\|postmaster\\|uucp")
   (sub . "subject")
   (to . "to\\|cc\\|apparently-to\\|resent-to\\|resent-cc")
   (from . "from\\|sender\\|resent-from")
   (nato . "to\\|cc\\|resent-to\\|resent-cc")
   (naany . "from\\|to\\|cc\\|sender\\|resent-from\\|resent-to\\|resent-cc")))

(setq nnmail-split-methods 'nnmail-split-fancy
      nnmail-split-fancy
      '(|
        (any "ccn@mailnews\\.ne\\.jp" "mail.news")
        (sub "Weekly Mag2" "mail.news")
        ;; すべての条件に合わないものは, mail.inbox へ
        "mail.inbox"))

例えばこんな風にすると, 振り分けることができます. 正規表現が使えますので, いろい ろな条件の組み合わせも可能ですが, 私はこの程度の簡単な条件で済ましています.

56.6.3.1 膨大な ML やニュースを簡単に設定 (2004/02/24)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.6.3.1 膨大な ML やニュースを簡単に設定 (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=split%20fancy"
"MeadowMemo/膨大なMLやニュースを簡単に設定"へのコメント(無し)
検索全文Elisp
要約

メーリングリストなどの振り分け条件を 1 個 1 個指定せずに,メールアドレスなどから適当 なグループに振り分けることができます.

情報源

小 関さんの日記

何が問題なのか?

100 個の ML に入ったからといって, 100 個設定するというのは馬鹿馬鹿しいものです.

また,個人宛のメールで議論になることがあります.こんな時に,その都度条件を考える のも面倒なものです.

何ができるのか?

普通メーリングリストには book@zzz.com のようなメールアドレスがヘッダについてい ます.

それなら,そのメールアドレスから mail.book というグループを作れば,大体のものは うまく振り分けられるのではないでしょうか.

設定方法

振り分け条件を以下のように設定します.ニュースや個人宛てのメールの条件のみ変更が 必要です.

 
(setq nnmail-treat-duplicates 'warn)       ;; *-with-parent で使う
(setq nnmail-cache-accepted-message-ids t) ;; 移動記事 ID も記録

(setq nnmail-split-methods 'nnmail-split-fancy)
(eval-after-load "nnml"
  '(modify-syntax-entry ?\- "w" nnmail-split-fancy-syntax-table))
(add-hook 'nnmail-pre-get-new-mail-hook 'gnus-group-split-update)

(setq nnmail-split-fancy-DM-alist
      '( ;; ニュースや個人宛てメールなど
        (any "book-ow@cup.com" "mail.book-error")
        (any "news@aaa.org" "mail.news")))

(setq nnmail-split-fancy-ML-alist
      '( ;; メーリングリスト関連
        ("x-ml-name" "\\b\\(\\w+\\)" "mail.\\1")
        ("errors-to\\|sender" "owner-\\(\\w+\\)@.*" "mail.\\1")
        ("sender" "\\b\\(\\w+\\)-\\(owner\\|admin\\)@.*" "mail.\\1")
        ("mailing-list"
         "\\bcontact \\b\\(\\w+\\)-\\(help\\|owner\\)@.*" "mail.\\1")
        ("X-BeenThere"
         "\\b\\(\\w+\\)@.*" "mail.\\1")))

(setq gnus-group-split-updated-hook
      (lambda ()
        (setq nnmail-split-fancy
              (append '(|)
                      ;; メーリングリスト
                      nnmail-split-fancy-ML-alist
                      ;; 関連する話題
                      '((: nnmail-split-fancy-with-parent))
                      ;; 個人宛てメールなど
                      nnmail-split-fancy-DM-alist
                      ;; グループパラメータかき集め"'(|"と""spam")"を除去
                      (let ((lst (cdr nnmail-split-fancy))
                            first ret)
                        (while (listp (setq first (car lst)))
                          (setq ret (append (list first) ret))
                          (setq lst (cdr lst)))
                        ret)
                      ;; 一致するものが無かった場合
                      "mail.inbox"))))

詳しい使い方

普通にメールを取り込むだけです.すると,メールアドレスから自動的にグループ名を作 成して,振り分けてくれます.

また,ニュースやメールマガジンなどは,上記の nnmail-split-fancy-DM-alist に追加し ます.あるいは,以下のようにしても設定できます.

これで完了です.これで,メールが来たらこのグループに振り分けられます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.6.4 メールを書くには ― 新規/返信/添付ファイル (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=write%20message"
"MeadowMemo/メールを書くには―新規/返信/添付ファイル"へのコメント(無し)
検索全文Elisp

受信して, 振り分けられるようになったので, ひとまず受信は大丈夫ですね. 次はメール を書く部分です.

  1. 新規メールの場合

    グループバッファか概略バッファでmを入力すると, 記事バッファが出てきてメー ルを書くことができます (ニュースはa).

    Gcc: nnml:archive
    To:
    Subject:
    From: zzz <zzz@mail.ne.jp>
    --text follows this line--
    

    こんなバッファが出来ますので, To:に宛先, Subject:に標題, 本文を--text follows this line--の次の行から書いていきます. 書き終わったらC-c C-cで送信しま す. gnus-agent を使っているなら, 一度ローカルに蓄えられ, gで送信が行われま す.

  2. 返信メールの場合

    概略バッファでrを入力すると, 返信を書くことができます. Rなら引用をす ることもできます.

  3. 添付ファイル付きメールの送受信

    メニューバーが出ていれば, MIME-Edit という項目があります. この中の Insert File を選択してください. すると, ファイル名の入力が求められますので, 入力します.

    MIME-Edit がなければ, Message-Attach file as MIME です

    続いてエンコード方法を聞いてきますので, base64 を選びます.

    すると, 例えばこんなのが挿入されます

    --[[application/octet-stream
    Content-Disposition: attachment; filename="test.xls"][base64]]
    

    これで添付完了です.

    逆に受信すると

    [2 TEST.XLS <application/octet-stream (base64)>]
    

    というのがありますね. マウスの中ボタンか右クリックをするとメニューが出ますので, 処理を選びます. ここまでの設定をしていれば, 右クリックで出るメニューには, fiber %1 というのがあるので, これを選ぶと対応したソフトが起動します. 右クリックで出る メニューは, 一度選択すると~/.mime-example というファイルに保存されますので, 次回 からはメニューは出ずにソフトが起動します.

    キーボードでの操作は, 記事バッファでカーソルを移動 (n, pを使うと便利) してvでソフト起動, eで保存です



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.6.5 メールを整理するには (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=oseiri%20message"
"MeadowMemo/メールを整理するには"へのコメント(無し)
検索全文Elisp

もっと便利な設定が 小 関さんの日記 にありますので,参考にどうぞ.

ここまでで, メールの作成, 送受信はとりあえずできますね. 次は増えてきたファイルを 整理する方法です.

t-gnus には auto-expire という機能があります. これは, 指定した日数が経過したファ イルを自動的に削除する機能です. ただし, 削除されるのは概略バッファで E がついて いるメールのみです.

そのため, 削除したくないメールには概略バッファでuを入力すると, 削除しない ようにできます. 解除は, Eです. uをすると, 概略バッファに入った際表示 されるのは, uでマークしたメールと新着メールのみになります. すべて表示する には, 概略バッファに入る際, C-u SPCあるいはC-u RETとするか, 概略バッ ファでC-u M-gとします.

 
;; 自動で削除するグループを指定
(setq gnus-auto-expirable-newsgroups
      (concat
       ;;mail
       "^nnml:\\(.*\\)$\\|^nn\\(.*\\)$"
       ;;news
       "\\|^fj.\\(.*\\)$\\|^alt.\\(.*\\)$\\|^japan.\\(.*\\)$"))

;; 指定した日以上経過したファイルが削除される.
(setq nnmail-expiry-wait 180) ;; 180 日は保存

;;グループによって削除する日を変える
(setq nnmail-expiry-wait-function
      (lambda (group)
        (cond
         ;; mail.memo フォルダのメールは削除しない
         ((string-equal group "mail.memo")
          'never)

         ;; 特定のフォルダは指定日を長くする
         ((string-equal group "mail.book")
          400)

         ;; デフォルト
         (t 180))))

削除ではなく, 任意のフォルダに移動する場合は,

  1. まずはフォルダを作る

    グループバッファでG mでグループを作ることができます. フォルダ名は mail.memo などとし, Method は nnml とすればいいでしょう

  2. 作ったフォルダへ移動

    概略バッファでB mで移動, B cでコピーできます. フォルダ名は補完が効き ますので, TABを押すと一覧が表示されます. さらに, B DELで削除もできま す.

    1 個 1 個やるのが面倒な場合は, #で印を付けてからやると, 一括で処理ができま す

  3. やっぱり振り分け直したい (^_^;)

    ということもよくありますよね. その場合は, 概略バッファで#を使って振り分け 直したいメールに印を付けてから, B rでできます. B qB tで振り 分けはせずに, どのフォルダに振り分けられるかを確認できます. リージョンで選択して からM P rでマークをつけるのも便利です

さて,ここまでできたら,アドレス帳が欲しくなりますね.次はアドレス帳の紹介です.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.7 アドレス帳 (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=address%20book"
"MeadowMemo/アドレス帳"へのコメント(無し)
検索全文Elisp

gnus とともに使うアドレス帳や簡易エイリアスを紹介します.

56.7.1 BBDB ― The Insidious Big Brother Database (2004/02/24)  
56.7.2 LSDB ― The Lovely Sister Database (2004/02/24)  
56.7.3 .mailrc によるアドレスの補完 (2004/02/24)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.7.1 BBDB ― The Insidious Big Brother Database (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=bbdb"
"MeadowMemo/BBDB―TheInsidiousBigBrotherDatabase"へのコメント(無し)
検索全文Elisp

http://www.meadowy.org/meadow/dists/1.15/setup.exeによりインストールできるアドレス帳です.

56.7.1.1 基本的な設定 ― BBDB (2004/02/24)  
56.7.1.2 BBDB の使い方 (2004/02/24)  
56.7.1.3 特定のグループのみメールアドレスを収集 (2004/02/24)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.7.1.1 基本的な設定 ― BBDB (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=setup%20bbdb"
"MeadowMemo/基本的な設定―BBDB"へのコメント(無し)
検索全文Elisp

以下を.emacs の gnus の設定の後に追加.

 
(setq bbdb/news-auto-create-p t) ;; メールアドレスを自動で収集
(require 'bbdb)
(require 'gnus-bbdb)
(bbdb-initialize)  ;; 'gnus / 'Gnus ははずしてください.
(add-hook 'gnus-startup-hook 'gnus-bbdb-insinuate)
(add-hook 'message-setup-hook 'gnus-bbdb-insinuate-message)
(setq bbdb/news-auto-create-p 'bbdb-ignore-most-messages-hook)
(setq bbdb-send-mail-style 'compose-mail)

;;FLIM では quote された eword encoded word は decode されませんが
;;を強制的に decode したい場合には
(setq gnus-bbdb/decode-field-body-function
      (function
       (lambda (field-body field-name)
         (eword-decode-string field-body))))

;; ポップアップは表示しない
(setq bbdb-use-pop-up nil)

;; アドレスの展開は C-c C-t
(defun bbdb-insinuate-w32-message ()
  "Call this function to hook BBDB into message-mode."
  (define-key message-mode-map "\C-c\C-t" 'bbdb-complete-name))
(add-hook 'mime-edit-mode-hook 'bbdb-insinuate-w32-message)

;; 自分のメイルアドレス.
;; これを設定しておくと
;; 対象にするようになります. ( メイリング・リストなどで便利です. )
(setq bbdb-user-mail-names
      "zzz@mail\\.ne\\.jp\\|zzz@zzz\\.com")

;; 標準以外に収集するヘッダー・フィールド
;; お好みでどうぞ
(setq bbdb-auto-notes-alist
      '(
        ("X-Mailer" ( ".*" mua 0))
        ("User-Agent"} ( ".*" mua 0))
        ("Reply-To"} ( ".*" ML 0))
        ("X-Newsreader"} ( ".*" mua 0))
        ("X-Ml-Name"} ( ".*" lists 0))
        ("X-Sequence"} ( "^[^ \t\n]+" lists 0))
        ("X-URL"} ( ".*" WWW 0))
        ("Organization"} ( ".*" Organization 0))
        ("X-URI"} ( ".*" WWW 0))
        ))

(add-hook 'bbdb-notice-hook 'bbdb-auto-notes-hook)

設定後は Meadow を再起動してください.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.7.1.2 BBDB の使い方 (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=usage%20bbdb"
"MeadowMemo/BBDBの使い方"へのコメント(無し)
検索全文Elisp

設定後, gnus を起動して, 普通にメールを読むと, そのメールから名前やメールアドレ スを自動で収集してくれます. 特に登録する必要はありません. M-x bbdb-create で作ることもできます.

その後, M-x bbdbに続けてリターンを押すと, 登録されている全アドレスが表示さ れます. M-x bbdbに続いて, 適当な文字を入れるとその文字を含むアドレスだけが 表示されます.

例えばこんな感じ.

masa - Luna
            net: eee@eee.com
  creation-date: 08 Oct 2002
      timestamp: 08 Oct 2002

Test - Luna
            net: zzz@zzz.com
  creation-date: 08 Oct 2002
      timestamp: 08 Oct 2002

このバッファでのキーバインドは以下

*を押してから, 入力すると今表示されているすべてのユーザに対して処理を実行 できます. だから, 検索してユーザをしぼっておき, * mとすると今表示されてい るユーザ全員に対してメールを送ることができるのです.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.7.1.3 特定のグループのみメールアドレスを収集 (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=bbdb%20group"
"MeadowMemo/特定のグループのみメールアドレスを収集"へのコメント(無し)
検索全文Elisp

自動収集ではアドレス帳が再現なく太っていくので, 特定のグループのみ自動収集するよ うにすると便利です.

まず, 56.7.1.1 基本的な設定 ― BBDB (2004/02/24)で設定した

 
(setq bbdb/news-auto-create-p t) ;; メールアドレスを自動で収集

 
(setq bbdb/news-auto-create-p nil) ;; メールアドレスを自動で収集しない

に変えます. さらに, 以下を追加. グループ名は適当に変えてください

 
(setq gnus-select-group-hook
      '(lambda ()
         (setq bbdb/news-auto-create-p
               (or (string= "nnml:mail.inbox" gnus-newsgroup-name)
                   (string= "nnml:mail.mine" gnus-newsgroup-name)
                   (string= "nnml:mail.ml" gnus-newsgroup-name)
                   ))))

自動収集しないフォルダでは概略バッファで:を押すと手動で収集できま す. ;で notes を書くこともできます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.7.2 LSDB ― The Lovely Sister Database (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=lsdb"
"MeadowMemo/LSDB―TheLovelySisterDatabase"へのコメント(無し)
検索全文Elisp

FLIM/SEMI と親和性の高いアドレス帳として, 最近開発されたものです.扱いは BBDB と 同じですが, 開発されはじめたばかりなため機能的には劣ります.

The Lovely Sister Database

ダウンロード先

インストールは make;make install. あるいは, 解凍したディレクトリを site-lisp 下に入れるだけでできます.

設定は以下を.gnus に追加します. これで, アドレスの自動収集とメールアドレス補完ができます.

 
(autoload 'lsdb-gnus-insinuate "lsdb")
(autoload 'lsdb-gnus-insinuate-message "lsdb")
(add-hook 'gnus-startup-hook 'lsdb-gnus-insinuate)

(setq lsdb-pop-up-windows nil) ;; popup は表示しない

;;メールアドレスの補完
(add-hook 'message-setup-hook
           (lambda ()
              (define-key message-mode-map "\C-c\C-t" 'lsdb-complete-name)))

;; 概略バッファでアドレスを登録するキー
(add-hook 'gnus-summary-mode-hook
          (lambda ()
            (define-key gnus-summary-mode-map ":" 'lsdb-toggle-buffer)))



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

56.7.3 .mailrc によるアドレスの補完 (2004/02/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=mailrc%20gnus"
"MeadowMemo/.mailrcによるアドレスの補完"へのコメント(無し)
検索全文Elisp

まず, ~/.mailrc というファイルを作成します

書式は以下のように, 「 alias[TAB] 名前 [TAB] メールアドレス」となっています

alias        name        zzz@zzz.com

さらに,invoke-mail.elをダウンロー ドし,ロードパスの通ったところへ置きます.そして, .gnus に以下を追加します.

 
(load-library "invoke-mail")

これで, メールを書く時に, naTABで name と補完され, さらにTABで zzz@zzz.com になります. シンプルでよく使うアドレスを登録しておくと便利です


[ << ] [ >> ]           [表紙] [目次] [索引] [検索] [上端 / 下端] [?]