Google 網路論壇不再支援新的 Usenet 貼文或訂閱項目,但過往內容仍可供查看。

メールリーダ mu4e は使える。索引、refileのマーク付がスグレモノ。

觀看次數:4 次
跳至第一則未讀訊息

Yasushi Shinjo

未讀,
2020年8月4日 上午3:56:494/8/2020
收件者︰
新城@筑波大学情報です。こんにちは。

メールリーダとしてコマンドラインの MH と MH-e (emacs) を長く使っていまし
たが、新しい環境(macOS 10.15) で imap-uw (University of Washington IMAP
daemon) がうまく動かなくて、変更することになりました。いろいろ試した所、
mu4e になりました。

- https://www.djcbsoftware.nl/code/mu/mu4e.html

なんで mu4e になったかというと、MH + MH-e と似ていて、次のようなことがで
きるからです。

- ssh でログインした先で Emacs で読み書きできる。
- ssh のポートフォワーディングで IMAP 通して、手元の IMAP クライアント
(Thunderbird) から使える。
- ssh の先で、コマンドラインで操作できる。

従来の MH + MH-e + imap-uw より格段に良くなったのは、次のような所です。

- メールスプールが Maildir にできたので、IMAP からのアクセスが相当軽くなっ
た。(imap-uw は、MH のフォルダを IMAP で叩けるのが良いけれど、重かった。
今は、IMAP は、Dovecot を使っている。)
- メールの検索が速くなった。mu が索引を作るので。
(export XAPIAN_CJK_NGRAM=1 で漢字も通る)。

少し問題があるのは、JIS コードのメールが読めないことがあることです。全滅
ではなくて、Content-Type: multipart/mixed の Content-Type: text/plain;
charset=iso-2022-jp の部分が読めないとか。「.」の
(mu4e-view-raw-message) で読めることが多いけど、読めないのもあります。

あと、コマンドラインの mu コマンドは、次のようなことはできます。

- https://www.djcbsoftware.nl/code/mu/cheatsheet.html

でも、今ひとつ使えません。一応、mu find で検索できるんだけれど、見つかっ
たメールのファイルがどこにあるのかわかりません。一応、--fields l でファ
イル名は表示できるんだけど、使いにくいです。Emacs の mu4e に戻って検索し
直した方が楽です。

コマンドラインで refile (フォルダの移動) をしたいけれど、できません。MH
で pick して scan して refile というのができません。pick + scan までは、
mu find でできたとして、その後、refile できません。

でも、mu4e の r (mu4e-headers-mark-for-refile) がスグレモノなので、今の
所は良しとしています。Thunderbird の「メッセージファルター」と併用して。
本当は、Sieve を使いたかったのだけれども、Dovecot に仕掛けるのが少し面倒
でやっていません。

あと、mu4e で、複数の headers view のバッファがあるといいんだけれど。フォ
ルダを作らないで、検索しろという話はあるけれど、Thuderbird 等、他のメー
ルリーダと併用するにはフォルダは必要です。それから、mu4e で表示すると、
時々妙に重たいメッセージがあるけれど、原因や回避方法がわかっていません。

あと、半年くらいの間に、索引が壊れて作り直したということが 2 回くらいあ
りました。1回は、mu のパッケージ (Macports) をアップデートした時でした。
その後、何度かアップデートしてますが、今の所壊れたのはそれだけです。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 情報工学        \\

Yasushi Shinjo

未讀,
2020年8月11日 上午4:05:4111/8/2020
收件者︰
新城@筑波大学情報です。こんにちは。

1つ前の記事で、MH + MH-e から mu4e に移行したという話をしました。この場
合、MH のメールを Maildir に移行したくなるわけです。それために、次の
Ruby スクリプトにお世話になました。ありがとうございました。

https://ihag.hatenadiary.org/entry/20080107/1199724428
はてなID ihag, ニックネーム genta さん
2008-01-07
MH形式フォルダをMaildirに変換

大量のファイルを変換していると、一部エラー出て来て止まりました。rescue
入れてごまかしました。原因はあまり追求してません。すみません。

$ diff mh.rb.~1~ mh.rb
28a29
> begin
30a32,41
> rescue NoMethodError
> $stderr.printf("\nskip broken mail %s (NoMethodError)\n",file)
> next
> rescue ArgumentError
> $stderr.printf("\nskip broken mail %s (ArgumentError)\n",file)
> next
> rescue => evar
> $stderr.printf("\nskip broken mail %s (%s)\n",file,evar)
> next
> end
$

あと、古い MH のフォルダで、Seen が付いてないけれど、Maildir で既読にし
たかったので、次の所を修正して、S フラグをつけるようにしました。

$ diff maildir.rb maildir-seen.rb
80,81c80,85
< info = ''
< [['Seen', 'S'], ['Replied', 'R']].each do |(label, tag)|
---
> # info = ''
> # [['Seen', 'S'], ['Replied', 'R']].each do |(label, tag)|
> # info += tag if mh.flag[label]
> # end
> info = 'S'
> [['Replied', 'R']].each do |(label, tag)|
$

Maildir も、メッセージを保存しているファイル名(ID)が変化するというのは、
今ひとつです。それ思うと、mu4e の索引はよく追随している。
0 則新訊息