CentOS4上でpostfixとdovecotを設置して運用しましたところ、
メールストア内(Maildir)に作られるファイル名に、Windowsで扱えない文字が含まれていました。
ほかのLinuxソリューションで、Windowsで扱える文字のみメッセージファイル名に利用しているソフトウエアはありますでしょうか?
ご存知でしたら、ご教示下さい。
手っ取り早い方法としては postfix/dovecot の構成のままで Maildir ではなく mbox 形式を利用する、というのがあります。現在 Maildir に蓄積中のファイルの移行について考える必要がないなら、設定ファイルの変更だけですむかと思います。
ただ、Maildir に関する postfix/dovecot それぞれの仕様を読む限り Windows で扱えない文字が含まれるような気があまりしてこないので、差し支えなければどんなファイル名でファイルができているのかを書いてみてもらえると良いかと思います。
> たとえば、つぎのような感じです。
> 1193950001.P20154Q0M358666.centos01:2,S
これはメールサーバが扱うべきファイルで、これをWin機から直接作業する機会は無いように思うのですが、Win機で扱えなくて困る状況とはどんなものでしょうか。
ご質問有難う御座います。
まず、現在はメールのバックアップに、
Linux側からWindowsOS機の共有フォルダへマウントして
cron起動によりメールDir全体をzipアーカイブした上で、コピー(複製)しています。
zip圧縮でも復元は戻すだけですので運用上不都合はないのですが、
実は単純な趣味の問題(質問の目的はむしろこちらが主)で、
メールデータファイルを.emlの拡張子に替えてWindowsOSから開くと、
そのままOutlookExpressで内容を読めるので
ファイルのまま複製(コピー)できると透明性があって安心感があるのです。
(あとは、仮にLinux機が壊れたときに、Windows側でバックアップ内容を直接確認できるのがポイント高いです。
現在はzip解凍どころかファイル一覧表示すら失敗してしまいますから、正常なのか本当に破壊されているのか
Linux上で戻すまでわからずじまいです。)
しっくりこない理由かもしれませんが、
・実験目的でLinuxサーバを設置(しかも5年以上前の一般クライアントPC、P3の500MHz、HDD8G、RAM256MB、もちろんRAIDなし)
・本運用はPOP3(FireWallに搭載)、実験としてIMAPを立てていて、
万が一クラッシュしたらバックアップをファイル単位で直接クライアントの受信トレイにも戻せる安心感。
・他のすべてのサーバ機とクライアント機はWindowsOS。このLinux機がCRUSHすると再インストールまでバックアップは確認不可。
場合によってはハードごと壊れてLinux機の準備自体ができなくなる可能性も。(VirtualPCという手ももありますが...)
があって、可能であればメールファイルをファイル(メール1通)単位でWindows機上で自由に扱いたい、といった希望です。
MercuryMailでも良いのですけど、サーバソフトの安定感はLinux用のソフトが上をいっていると思いますので...
MercuryMailが本運用にも(約100アカウント、全体で約2000通/日)十分使える実績があれば、導入したいです。
とりあえず、mbox 化の場合は特に問題は発生しないはずですが、1メール=1ファイルではなくなるのがいまいち、ということになります。
それ以外の形式でいうと、MH 形式が1メール=1ファイルになりますが、dovecot では扱えない(uw-imapなら一応サポートされているようです)
ので、これもいまいちお勧めできない気がします。
解凍側 = Windows 上で ":" 入りな zip ファイルをファイル名置換しながら解凍してくれるようなツールがあればよさそうですが・・ちょっと今のところ思いつきません。
あとは、zip 圧縮する前に Linux マシン内でファイルコピー&ファイル名の一斉置換をかけるような泥臭い方法しか思いつきませんでした。すいません。
コメント有難う御座います。
ファイル名のコロン(":")を全角コロンなどに変更しながらファイルコピーするバッチを組めば、確かに要件を満たしますね。