新城@筑波大学情報です。こんにちは。

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 の索引はよく追随している。

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