[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9 さらなる一歩


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.1 リージョン

Summary モードには、‘C-u’ 付きで呼び出すと、リージョンに作用するコ マンドがあります。これらのコマンドは、ビジブルなリージョンが指定されて いる場合は、‘C-u’ なしでもそのリージョンに作用します。

Emacs では、以下の設定を "~/.emacs" に入れると、ビジブルなリージョンが 利用できるようになります。

(transient-mark-mode 1)

以下に、該当するコマンドを列挙しておきます。

?’, ‘/’, ‘tt’, ‘x’, ‘lx’, ‘ma’, ‘Md’, ‘S’, ‘mlc’, ‘mli’, ‘*’, ‘$’, ‘d’, ‘u

*’, ‘$’, ‘d’, ‘u’ は、直前に数字を入力することで、 繰り返しの回数を指定することもできます。たとえば、‘3*’ は 3 つのメー ルに ‘*’ マークを付けます。数字の前に ‘C-u’ は不要です。


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.2 移動

Draft モードにおいて、‘C-cC-m’ でメッセージを作成し送信キューに入 れた後、+queue に移動したい場合は、 ‘mew-visit-queue-after-sending’ を ‘t’ に設定して下さい。

Summary モードにおいて、‘C’ でケースを設定した後に、各 inbox に移 動したい場合は、‘mew-visit-inbox-after-setting-case’ を ‘t’ に設定しましょう。

Summary モードから、一番数字の小さい草稿(Draft モード)に移動するには、 ‘C-cC-o’ が利用できます。


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.3 Secure SHell

Mew は SSH として、SSH バージョン 1、2 および OpenSSH をサポートしてい ます。Mew から SSH を利用する前に、必ずコマンド・ラインで "ssh" を実行 し、SSH サーバの公開鍵を取得して下さい。すなわち、ユーザのパスワードか、 ローカルのマシンの秘密鍵を復号化するためのパスワードを入力すれば、サー バにログインできる状態にして下さい。なお、"ssh-agent" を利用すれば、秘 密鍵を復号化するためのパスワードの入力を省略できます。

後は、各プロトコルの SSH に関する変数を設定して下さい。たとえば、POP over SSH を利用する場合は、‘mew-pop-ssh-server’ に SSH サーバの名 前を設定しましょう。

SSH で通信が保護されている場合、モードラインに錠前の絵が表示されます。

Mew の実装では、SSH と SSL/TLS を同時には使えません。SSH トンネルの中で SSL/TLS を使う必要がある場合、Mew では SSL/TLS だけを設定し、SSH トンネ ルはコマンドラインから張るようにして下さい。


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.4 Secure Socket Layer

SSL を使うには、認証局方式の信用モデルを理解している必要があります。現 在、Mew は SSL のために "stunnel" バージョン 3、4、5 をサポートしていま す。

Mew で利用する前に、SSL サーバに対して "stunnel" で SSL のコネクション が張れるか確かめて下さい。"stunnel" は、"openssl" のライブラリをリンク しているので、"openssl" の知識が必要です。

信用する証明書を保存しておくディレクトリを "~/.certs" だとしましょう。 ここに "openssl" の "certs" ディレクトリに付いてくる PEM 形式の証明書を "<ハッシュ>.0" という名前でコピーします。

ここでは、PEM 形式の証明書のファイル名を "ca.pem" だとしましょう。「<ハッ シュ>」は以下のように計算できます。

% openssl x509 -hash -noout -in ca.pem

"~/.certs/" へコピーするには、以下のようにします。

% cp ca.pem ~/.certs/`openssl x509 -hash -noout -in ca.pem`.0

"openssl" に付いてくる証明書は、世の中で使われている CA すべてを網羅で きていません。あなたが利用するサーバの証明書が、他の CA から発行された 場合、その CA の証明書を同様にコピーしておく必要があります。以下のペー ジに CA の証明書がたくさん置いてあります。

http://www.columbia.edu/~ariel/good-certs/ns45/

Mew で "stunnel" を制御する重要な変数は 2 つです。 ‘mew-ssl-cert-directory’ は、信用する CA の証明書を置いておくディ レクトリであり、初期値は "~/.certs" です。また、 ‘mew-ssl-verify-level’ で、証明書を検証するレベルを指定できます。 レベルの初期値は 1 です。この意味は、以下の通りです。

0

検証しない

1

サーバの証明書があれば検証する。検証結果が失敗なら、SSL/TSL コネクショ ンは作られない。証明書がなければ、SSL/TLS コネクションを作成する。

2

サーバの証明書を検証する。検証結果が失敗なら、SSL/TSL コネクションは作 られない。証明書がなければ、SSL/TLS コネクションを作成しない。

3

サーバが送ってきたものではなく、ローカルにインストールされている証明書 で検証する。

後は各プロトコルの SSL に関する変数を設定して下さい。たとえば、POP over SSL を利用するには、‘mew-pop-ssl’ を ‘t’ にします。また、 ポート番号が標準と異なる場合には、‘mew-pop-ssl-port’ を設定して下 さい。

(setq mew-pop-ssl t)

SMTP で SSL を利用する場合は、以下のようにします。

(setq mew-smtp-ssl t)

SSL で通信が保護されている場合、モードラインに錠前の絵が表示されます。


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.5 Transport Layer Security

Mew では SSL の代りに TLS を利用することもできます。TLS の実現は、SSL と同様 "stunnel" に頼っています。ですので、TLS を利用する際には、 See section Secure Socket Layer の説明に従って設定して下さい。

次に、SSL のポート番号を守りたいプロトコルと同じポート番号に設定します。 たとえば、POP では以下のようにします。

;; A default value of mew-pop-port is "pop3" (110)
(setq mew-pop-ssl t)
(setq mew-pop-ssl-port mew-pop-port) ;; The default is "pop3s" (995)

すなわち、SSL のポート番号と保護したいプロトコルのポートが同じであれば TLS、異なれば SSL が利用されます。

以下は、Message Submission を TLS で守るための設定例です。

(setq mew-smtp-port "submission") ;; The default is "smtp" (25)
(setq mew-smtp-ssl t)
(setq mew-smtp-ssl-port mew-smtp-port) ;; The default is 465

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.6 スパム

(1) スパムのフィルタが POP サーバや IMAP サーバ側で動いている場合:

POP で +inbox にメッセージを取得したり、$inbox や %inbox でメッセージの 一覧を取ったりする場合に、スパムに自動的に ‘D’ マークを付けること ができます。

Bogofilter を利用している場合は、以下の設定を "~/.mew.el" に入れて下さ い。

(defun mew-spam-bogofilter (val)
  (let ((case-fold-search t))
    (if (string-match "yes" val) ?D)))

(setq mew-inbox-action-alist
      '(("X-Bogosity:" mew-spam-bogofilter)))

D’ マークを付ける代わりに、+spam フォルダへリファイルするように ‘o’ マー クを付けるようにするには、関数を以下のように記述します。

(defun mew-spam-bogofilter (val)
  (let ((case-fold-search t))
    (if (string-match "yes" val) "+spam")))

Spamassassin の場合は、以下の設定を "~/.mew.el" に入れて下さい。

(setq mew-spam: "X-Spam-Flag:")
(defun mew-spam-assassin (val)
  (let ((case-fold-search t))
    (if (string-match "yes" val) ?D)))

(setq mew-inbox-action-alist
      '(("X-Spam-Flag:" mew-spam-assassin)))

bsfilter を使う場合は、bsfilter に含まれているマニュアルを参照して下さ い。

(2) スパムのフィルタが IMAP サーバ側で動いている場合:

%inbox でメッセージの一覧を取る際に、IMAP サーバの中でスパムを消去、ま たは、他のフォルダへ移動させることができます。Bogofilter を利用している 場合は、以下のような設定を "~/.mew.el" に加えて下さい。

(setq mew-imap-spam-field "X-Bogosity")
(setq mew-imap-spam-word "Yes")

mew-imap-spam-folder’ あるいは ‘mew-imap-trash-folder’ が定 義されていれば、そのフォルダへスパムが移動します。そうでなければ、スパ ムは消去されます。

(3) ローカルで bogofilter を動かして、一括して ‘*’ マークを付ける 方法もあります。まず、以下のスクリプトをインストールして下さい。

#!/bin/sh

bogofilter -v -T -B $* | grep S

このスクリプト名を "bogo" だとしましょう。Summary モードで ‘?’ を 実行し、‘RET’ を入力し、コマンド名に "bogo" を指定すれば、スパムに ‘*’ マークが付きます。あとは、‘md’ + ‘x’ などで処理する といいでしょう。

(4) POP サーバを利用しており、サーバ側ではスパムのフィルタを動かせないが、 メッセージの取得時にマークを付けたい場合:

bsfilter は、POP の代理サーバとなる機能があるので、これを実現できます。 詳しくは bsfilter に含まれているマニュアルを参照して下さい。


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.7 スパム(2)

Summary モードで読んでいる現在のメッセージを、フィルターにスパムとして 学習させるには ‘ls’ を使います。同様に、ハム(スパムでないメッセー ジ)として学習させるには ‘lh’ を利用して下さい。

両者のコマンドを使用するためには、4 つの変数を設定しておく必要があります。 ここでは bogofilter を例題にとり、3 つの場合について説明します。

(1) ローカルのフィルターに学習させる場合:

(setq mew-spam-prog "bogofilter")
(setq mew-spam-prog-args '("-s" "-N" "-v"))
(setq mew-ham-prog "bogofilter")
(setq mew-ham-prog-args '("-n" "-S" "-v"))

(2) サーバ(<server>)側のフィルターに SSH 経由で学習させる場合:

(setq mew-spam-prog "ssh")
(setq mew-spam-prog-args '("<server>" "bogofilter" "-s" "-N" "-v"))
(setq mew-ham-prog "ssh")
(setq mew-ham-prog-args '("<server>" "bogofilter" "-n" "-S" "-v"))

(3) ファイアウォール(<firewall>)の先のサーバ(<server>)のフィルターに 多段の SSH 経由で学習させる場合:

(setq mew-spam-prog "ssh")
(setq mew-spam-prog-args '("-A" "<firewall>" "ssh" "<server>" "bogofilter" "-s" "-N" "-v"))
(setq mew-ham-prog "ssh")
(setq mew-ham-prog-args '("-A" "<firewall>" "ssh" "<server>" "bogofilter" "-n" "-S" "-v"))

なお SSH を利用する場合、関連するホストには、パスワードなしでログインで きるように設定しておく必要があります。


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.8 アドレスの警告

社内で閉じるべきメッセージの宛先に、うっかり社外の人のアドレスを書いて しまうことがあります。Mew では、たとえば社内のドメイン名を列挙しておく と、社外のアドレスを赤色にして警告してくれます。

どのアドレスを警告するのかを決定する変数は 4 つあり、すべて文字列のリス トになります。Mew は以下のルールに従って、警告するアドレスを決めます。

  1. アドレスが ‘mew-safe-addresses’ で指定されていれば警告しない。
  2. アドレスが ‘mew-warn-addresses’ で指定されていれば警告する。
  3. ドメインが ‘mew-safe-domains’ で指定されていれば警告しない。
  4. ドメインが ‘mew-warn-domains’ で指定されていれば警告する。
  5. mew-warn-addresses’ か ‘mew-safe-domains’ が定義されていれば 警告する。
  6. 警告しない。

以下に "@example.org" 以外のドメインを持つアドレスを警告する例を示します。

(setq mew-safe-domains '("example.org"))

ドメインは "@example.org" ですが、"customers@example.org" は警告したい場合は、 さらに以下のように設定します。

(setq mew-warn-addresses '("customers@example.org"))

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.9 Biff

メッセージが到着したか定期的に調べる機能を biff といいます。Mew では、 以下の設定をすると、5 分ごとに新規メッセージが何個あるか調べるようにな ります。

(setq mew-use-biff t)

新規メッセージがあれば、その数がモードラインに表示されます。

Biff の対象となるサーバとプロトコルは、Mew の起動時に ‘mew-proto’ とケース(‘mew-case’)から決定されます。

以下の設定をすると、新規メッセージがない状態からある状態に変った際に、 ビープ音が鳴ります。

(setq mew-use-biff-bell t)

メッセージの到着を調べる間隔を変えるには、‘mew-biff-interval’ を設 定して下さい。以下は、10 分にする例です。

(setq mew-biff-interval 10)

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.10 Edit モード

Edit モードは、既存のメッセージを編集し、新しいメッセージを作成するため のモードです。用途の典型例を以下に示します。

現在のメッセージを Edit モードで編集するには、‘M-e’を押します。す ると、Draft モードに似た形で草稿が用意されます。Edit モードでは、Draft モードと同様の操作で、メッセージを編集できます。

編集したメッセージを新しいメッセージとして保存するには、‘C-cC-c’か ‘C-cC-m’を使います。両者は、まったく同じコマンドです。これらのコマ ンドを実行すると、どのフォルダに保存するかを訊いてきます。

なお、この機能は再編集(See section 送信、返答、転送)と混同しやすいので注意して下さ い。再編集は編集後に送信するのに対し、Edit モードでは編集の後に保存しま す。

以下に Edit モードのまとめを示します。Summary モードから Edit モードに 入るには以下のコマンドを使います。

M-e

現在のメッセージを元に Edit モードに入る。

Edit モードでのコマンドをまとめます。

C-cC-c

編集したメッセージを新しいメッセージに保存。

C-cC-m

C-cC-c’に同じ。

その他

Draft モードと同じ。


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated on February 16, 2023 using texi2html 5.0.