KaMailV3

注意

・このソフトウェアはまだ実験段階にあります。
・実装されていない機能があったりします。
・ちゃんと動かない機能があったりします。
・予告なく仕様が変わる場合があります。
・将来的に実用レベルまで達するかどうかはわかりません。
・アップグレード時には注意事項を参照してください。

目次

概要

KamailV3はxyzzy上でHyper Estraierを利用する検索ベースのメールリーダーです。 GMailや、morqを参考にさせて頂いて作成しています。

主な特徴

利用条件等

LICENSE.txtをご覧下さい。

動作環境

インストール

動作には、Hyper Estraierが必要です。あらかじめインストールしておいて下さい。

NetInstallerでインストールするか、ダウンロードしたアーカイブを system-root 以下に展開してください。 また、junk-libraryが必要ですので、こちらもインストールしてください。

設定

ni-autoload を有効にしていない場合は、以下を .xyzzy または siteinit.l に書いてください。

(autoload 'kamail3 "kamail3/defs" t)
(autoload 'kamail3-toggle "kamail3/defs" t)

設定は、site-lisp/kamail3/config.l.sample を ~/.kamail3/config.l にコピーして必要箇所を記入してください。

mailtoでKaMailV3を呼びたい場合には、以下を .xyzzy または siteinit.l に書いてください。
[参考] IE の mailto:foo@bar.ac.jp とかで KaMail を呼びたいのですが…。

(autoload 'kamail3-mailto "kamail3/defs" nil)
(setq *command-line-mailto-hook* #'kamail3-mailto)

起動

xyzzy で以下を実行します。

M-x kamail3

いったん引っ込めたり、また出したりする場合は以下を実行します。

M-x kamail3-toggle

これらはデフォルトではキーに割り当てられていませんので、必要に応じて設定してください。

使い方

想定している典型的な使い方は、以下のような感じです。

通常検索 (キー:/
全文検索条件と属性検索条件と表示順指定をスペースで区切って入力します。条件は全てAND条件になります。
全文検索条件・属性検索条件のどちらか一つは必ず入力する必要があります。
詳細検索 (キー:?
Hyper Estraierの条件式の「全文検索条件の通常書式」と「属性検索条件」と「順序指定」をそのまま指定して検索することができます。

キーバインド

summary buffer でのキーバインド

メール受信gメールを全て受信
Gメールを選択受信
メール表示Spaceメールを表示/メールをスクロール
Tab次の未読メールを表示
n次の行のメールを表示
p前の行のメールを表示
;メールの属性を表示
s添付ファイルを保存
x添付ファイルを保存して実行
jpartialメッセージを結合して表示
検索/通常検索
?詳細検索
次のn件を表示
前のn件を表示
h検索履歴メニューを表示
C-x C-s検索条件をフォルダとして登録
l fメールの送信者で検索
l Fメールの送信者でFrom,To,Ccを検索
l sメールの件名で検索
l tメールのスレッドを検索
l mメールのIn-Reply-ToもしくはMessage-Idで検索
マークm mその行のマークをトグル
m a全てマークする
m d全てマークを外す
m /ヘッダーの条件を指定してマークする
メール作成cメールを新規作成
rメールに返信
R全員に返信
fメールを転送
Fメールを添付ファイルとして転送
タグt sタグを選択して検索
t aタグを入力して付ける
t dタグを外す
t mマークしたメッセージにタグを付ける
フォルダeフォルダ選択メニューを表示
a既読メールをアーカイブ
Aメールをアーカイブ
Iメールをinboxへ移動
Sメールをspamへ移動
Tメールをtrashへ移動
C-c sspamフォルダのメールを削除
C-c ttrashフォルダのメールを削除
C-c E検索フォルダ削除メニューを表示
ExpireXExpire実行
C-x C-e検索条件をExpire設定として保存
C-c XExpire設定削除メニューを表示
アドレス帳C-c aアドレス帳に登録
その他右クリックポップアップメニューを表示
y疑似インデックスをマージ
F1readme.htmlを表示
qメッセージを閉じる/終了
Q終了

message buffer でのキーバインド

メール表示Spaceメールをスクロール/閉じる
s添付ファイルを保存
x添付ファイルを保存して実行
メール作成cメールを新規作成
rメールに返信
R全員に返信
fメールを転送
Fメールを添付して転送
その他qメッセージを閉じる

draft buffer でのキーバインド

メール編集Enterカーソル位置の内容を編集
d現在位置の内容を削除
fFromを選択
sSubjectを編集
e本文を編集
tToを追加
TToを追加(ダイアログ)
cCcを追加
CCcを追加(ダイアログ)
bBccを追加
BBccを追加(ダイアログ)
mContent-Typeを編集
添付aファイルを添付(複数選択可)
C-u aファイルを圧縮して添付
Aフォルダを圧縮して添付
送信・保存C-c C-cメールを送信
C-x C-sメールを保存
p前のメール
n次のメール
C-d現在編集中のメールを破棄
q閉じる

edit buffer でのキーバインド

編集M-Insert署名を挿入
保存C-x C-s保存して編集を終了
C-c q保存せずに編集を終了

signature buffer でのキーバインド

署名Enter署名を挿入
n次の署名
p次の署名
q署名選択を閉じる

管理用コマンド

インデックスの情報を確認

以下を実行すると、インデックスの情報を確認することができます。

M-x: km3::he-inform

インデックス登録漏れなど

何らかのエラーのためにメッセージとインデックスの不整合が生じた場合には以下を実行して修復してください。

M-x: km3::he-regather-all            <= 登録・削除漏れ
M-x: km3::he-gather-unindexed-files  <= 登録漏れ
M-x: km3::he-purge-all               <= 削除漏れ
M-x: km3::he-repair-nofolder-files   <= フォルダに属さないメッセージを指定フォルダに入れる

インデックス最適化

しばらく利用していると、検索の速度と精度が少しずつ落ちてきますので以下を実行してインデックスを最適化してください。

M-x: km3::he-optimize

添付ファイルの削除

メッセージの転送を行う場合に、元のメッセージの添付ファイルは自動的に保存され、そのまま残っていますので、定期的に削除する必要があります。
ただし、転送メッセージのdraftを保存している場合などは送信時にエラーになりますので削除を行わないで下さい。

M-x: km3::message-cleanup-attachments

Hyper Estraier のバージョンアップ

Hyper Estraierのバージョンアップでインデックスのフォーマットが変更された場合には、以下の手順でデータを移行してください。
(インデックスのフォーマットが変わっていない場合には、Hyper Estraierを入れ替えるだけでOKです)

M-x: km3::he-dump       <= 文書ドラフト形式で書き出し
=> ここで Hyper Estraier を入れ替える
M-x: km3::he-restore    <= casketを作り直す

その他

KaMailからメールをインポート

KaMailその他MH形式のフォルダからのメールをインポートする場合には、以下を実行してください。インポートしたメールは既読でアーカイブした状態でインポートされます。
メールの量にもよりますが、かなり時間がかかりますので気長にお待ち下さい。

M-x: kamail3                       <= KaMailV3を起動しておく
M-x: load-library
Load library: kamail3/import
M-x: import-mh-folder
Folder: C:/xyzzy/KaMail/Mail       <= MHフォルダの場所を指定
Ignore Folders: trash spam draft   <= インポートしないフォルダをスペース区切りで指定(正規表現可)

browser.dll、browserex を利用したHTML表示

config.l で 設定を行うと、summary buffer で以下のキーバインドが有効になります。

HTMLメール表示,HTMLメールを browser.dll で表示
qbrowserを閉じる/メッセージを閉じる/終了

POPFileとの連携

POPFileを利用している場合には、KaMail3からメールの分類を行うことができます。(POPFile側でXML-RPCを有効にしておく必要があります)
config.l で 設定を行うと、summary buffer で以下のキーバインドが有効になります。

POPFilezバケツ選択メニューを表示

アップグレード時の注意事項

0.0.1.2beta1以前のバージョンからアップグレードする場合には、以下の点に注意してください。

疑似インデックス

HyperEstraier-1.4.0で実装された疑似インデックスを利用すると、インデックス登録を任意のタイミングで行うことができるようになるため、受信後にインデックス登録で待たされる時間を短くできます。ただし、検索は少し遅くなります。利用する場合には、config.lで設定を行ってください。

疑似インデックス内のメールが増えると、検索が遅くなりますので、適当なタイミングでインデックスにマージしてください。summary-buffer でのキーバインドは以下になります。

y疑似インデックスをマージ

謝辞

xyzzyを開発された亀井さん、Hyper Estraierを開発された平林さん、またお世話になった全ての方々に感謝いたします。

ChangeLog

2007/12/12: 0.0.1.4beta6
2006/10/20: 0.0.1.4beta5
2006/10/05: 0.0.1.4beta4
2006/09/06: 0.0.1.4beta3
M-x: km3::he-repair-pindex
2006/08/30: 0.0.1.4beta2
2006/08/30: 0.0.1.4beta1
2006/06/26: 0.0.1.3beta3
2006/05/25: 0.0.1.3beta2
2006/04/20: 0.0.1.3beta1
2006/04/20: 0.0.1.2beta9
2006/04/20: 0.0.1.2beta8
2006/04/19: 0.0.1.2beta7
2006/04/19: 0.0.1.2beta6
2006/04/17: 0.0.1.2beta5
2006/04/13: 0.0.1.2beta4
2006/04/12: 0.0.1.2beta3
2006/04/11: 0.0.1.2beta2
2006/04/10: 0.0.1.2beta1
2006/03/31: 0.0.1.1beta1
2006/03/30: 0.0.0.2alpha9
2006/03/29: 0.0.0.2alpha8
2006/03/27: 0.0.0.2alpha7
2006/03/24: 0.0.0.2alpha6
2006/03/24: 0.0.0.2alpha5
2006/03/22: 0.0.0.2alpha4
2006/03/22: 0.0.0.2alpha3
2006/03/21: 0.0.0.2alpha2
2006/03/21: 0.0.0.2alpha
2006/03/21: 0.0.0.1alpha

ToDo