Imapのサーバーのユーザーディレクトリーに保存されているファイルの名前はMIMEではなく、UTF-7だそうです。
で、それを変換するperlスクリプトを作りました。作ったと言っても当該のCPANモジュールを呼び出すだけですが。
ただし、これには罠があって、CPANモジュールのIMAP-UTF-7の説明には間違いがあります。
ではなくて、
としないといけません。ずいぶん昔から指摘されているのに、直っていません^^;
スクリプト付けときます。GNU GPL 3.0 or laterっちゅうことで。
#!/usr/bin/perl # imapdecode.pl # by I Hieda (JE1SGH), 22 Apr 2016 # GNU GPL 3.0 or later use Encode::IMAPUTF7; $filename = @ARGV[0]; $outname=Encode::decode('IMAP-UTF-7',$filename); binmode(STDOUT,":utf8"); print $filename," : "; print $outname,"\n";
使い方としては、
for i in `ls`; do imapdecode.pl $i; done
などとします。
例えば、debianのフォーラム参照。