Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

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条件になります。
全文検索条件・属性検索条件のどちらか一つは必ず入力する必要があります。
  • 普通に単語をスペース区切りで入力するとAND検索になります。
    例:"xyzzy" と "windows" を含むメールを検索
    Query: xyzzy windows
  • 正規表現で検索
    例:"xyzzy" か "windows" を含むメールを検索
    Query: [RX] (xyzzy|windows)
  • 日付の範囲指定をする場合は以下のように指定します。
    例:"xyzzy" を含んだ2006/01/01 以降のメールを検索
    Query: xyzzy date>=20060101
    例:"xyzzy" を含んだ2006年2月のメールを検索
    Query: xyzzy date>=20060201 date<20060301
  • 日付の範囲指定は現在からの相対指定を行うこともできます。検索フォルダとして保存する場合に便利です。
    例:"xyzzy" を含んだ3日以内のメールを検索
    Query: xyzzy date:3d
    例:"xyzzy" を含んだ1週間以内のメールを検索
    Query: xyzzy date:1w
    例:"xyzzy" を含んだ1年前以前のメールを検索
    Query: xyzzy date:-1y
  • 日付以外の属性の検索を行う場合。
    例:xyzzy@example.com から来たメールを検索(From に xyzzy@example.com を含むメール)
    Query: from:xyzzy@example.com
    例:Subjectに xyzzy を含むメールを検索
    Query: subject:xyzzy
    例:Subjectを正規表現で検索
    Query: subject~(xyzzy|windows)
    例:xyzzyメーリングリストのメールを検索(完全一致)
    Query: x-ml-name=xyzzy
    例:xyzzy@example.com をFrom,To,Ccのどれかに含むメールを検索
    Query: from,to,cc:xyzzy@example.com
  • 表示順を指定する場合。(指定しなければ Date の昇順)
    例:"xyzzy" を含んだメールを Date の降順で表示
    Query: xyzzy order>date
    例:"xyzzy" を含んだメールを Subject の昇順で表示
    Query: xyzzy order<subject
詳細検索 (キー:?
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
  • 疑似インデックスをMIMEとしてマージしてしまっていた不具合を修正。
    利用していた場合には、以下のコマンドを実行してインデックスを修復してください。
    ただし、疑似インデックスに入っていたメールの属性情報は失われ、inboxに入ります。
M-x: km3::he-repair-pindex
2006/08/30: 0.0.1.4beta2
  • 設定のドライブ文字が小文字だとメールが読めない不具合を修正。
2006/08/30: 0.0.1.4beta1
  • 受信時の振り分け処理をgatherと同時に行うように変更。
  • 疑似インデックスを利用可能にした。受信後のインデックス登録を軽くできる。
  • 通常検索で正規表現で検索できるようにした。
2006/06/26: 0.0.1.3beta3
  • 送信済フォルダのデフォルトをDate降順に修正。
  • Dateが未来のメールがサーバーに残ってしまう場合があったのを修正。
2006/05/25: 0.0.1.3beta2
  • 既定のフォルダがDate降順になっていたのを修正。
  • 通常検索条件入力のhistoryが効いていなかったのを修正。
2006/04/20: 0.0.1.3beta1
  • hyper-estraier.lをestcmd.lに変更。
  • km3::he-inform にバージョン情報を追加。
  • 属性インデックスが一部効いていなかったのを修正。
  • draftで添付ファイルを全て削除してもmultipartのままになるのを修正。
  • Hyper EstraierのP2P機構を利用する方法を試作。
2006/04/20: 0.0.1.2beta9
  • 送信メッセージのDateフィールドの書式を修正。
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
  • "estcmd gather" に "-il ja" オプションを追加。
  • スレッド検索時の正規表現を修正。
2006/04/12: 0.0.1.2beta3
  • unseenフォルダの形式を再度変更。
2006/04/11: 0.0.1.2beta2
  • Hyper Estraier 1.2.1対応。
  • 併せて属性インデックス用に、inbox, unseenフォルダの形式を変更。
2006/04/10: 0.0.1.2beta1
  • Hyper Estraier 1.2.1対応準備。
  • 返信時の引用にパート表示が含まれてしまっていたのを修正。
2006/03/31: 0.0.1.1beta1
  • summaryのポップアップメニューを作成。
2006/03/30: 0.0.0.2alpha9
  • 転送時に添付ファイルも転送するように。
  • 詳細検索がエラーになるのを修正。
  • インデックス再構築用コマンドを用意。
2006/03/29: 0.0.0.2alpha8
  • mailto対応。
  • ファイルを圧縮して添付とか。
  • フォルダを圧縮して添付とか。
  • draftでContent-Typeを編集とか。
  • アドレス帳のダイアログ。
  • POP3受信中のメッセージ表示。
2006/03/27: 0.0.0.2alpha7
  • message/partialに対応。ただしsummaryに全部揃っている場合のみ。
  • readme.htmlを参照とか。
2006/03/24: 0.0.0.2alpha6
  • Hyper Estraier1.1.6対応。属性のOR検索に対応。(__)
  • メールの送信者でFrom,To,Ccを検索とか。
  • メールのスレッドを検索とか。遅い上に完全な検索ではありません。
  • メールのIn-Reply-ToもしくはMessage-Idで検索とか。
  • 検索履歴メニューで長すぎる場合は表示を切り捨てるように。
2006/03/24: 0.0.0.2alpha5
  • POP3受信時の例外処理を適当に。
  • *base-directory* にスペースが含まれていると処理ができなかったのを多分直した。
  • *refile-rule-list* が未定義になっていたのを修正。
2006/03/22: 0.0.0.2alpha4
  • メールの送信者で検索とか。
  • メールの件名で検索とか。
  • 添付として転送とか。
  • 併せて添付・送信回りをある程度直した。
2006/03/22: 0.0.0.2alpha3
  • Fromを元に挿入する署名をデフォルト選択。
  • 特別フォルダの別名設定が効かなかったのを修正。
  • 送信済メールを保存するオプション。
2006/03/21: 0.0.0.2alpha2
  • ファイル名指定が間違っていたのを修正。
  • typoを修正。
  • readme.htmlの間違いを訂正。
2006/03/21: 0.0.0.2alpha
  • 返信時にFrom指定でエラーになるのを修正。
2006/03/21: 0.0.0.1alpha
  • 初版。

ToDo