IMAPサーバーをCOURIEからDOVECOTに替えたらThunderbirdでちょっとはまった 
2015/09/16 Wed.
長年使っていたCOURIEからDOVECOTに替えてみたのですが、特に大きなつまずきもなく稼動しました。
Thunderbirdで接続したら、こちらも特に問題なく動いている。
ように見えた。
しかし、良く見てみるとThunderbirdで作ったフォルダが消えている。
れれ??
こいつは結構難儀した。
Thunderbirdで接続したら、こちらも特に問題なく動いている。
ように見えた。
しかし、良く見てみるとThunderbirdで作ったフォルダが消えている。
れれ??
こいつは結構難儀した。
ちょっと言葉の整理。
サーバーのディレクトリを「ディレクトリ」。
パソコンのディレクトリを「フォルダ」。
Thunderbirdのフォルダを「メールフォルダ」。
とします。
まずはサーバーディレクトを確認する。
うむ。ちゃんと残っている。
しかし、日本語フォルダのためIMAP-UTF7でエンコードされたファイル名になっているので、コマンドでファイル操作することができない。
というのも、ファイル名が
.&XXXXXX-
という形になっている。
「&(アンパサンド)」が入っているので、これが邪魔してコマンド操作ができない。
ならば、Thunderbirdで同じ名前のメールフォルダを作ってしまえ!と思ったが作れない。たぶんサーバー側で名前重複あたりで受け付けないのだろう。
ふむ。小手先だけではダメっぽい。ちょっと作戦を立てよう。
ということで、
●サーバー上の「メールフォルダ・ディレクトリ」名を変更(旧)
●メールクライアントでメールフォルダ作成(新)
●旧から新へファイルのコピー
でいきます。
●サーバーのディレクトリ名の変更
とはいっても、前述の理由で「mv」コマンドが使えない。
そこで、PHPでリネームするスクリプトを組むことにしました。リネームといっても「&」を消去したファイル名に置き換えるだけのことです。
それをROOTで実行すると、うまく変更できました。
(例)
.&MMalxU-
↓
.MMalxU-
こうなれば普通にコマンド操作ができます。
●メールクライアントでメールフォルダの作成
Thunderbirdでメールフォルダを作ります。
の前に、メールアカウントの「メッセージの保存先」フォルダの中を覗いて見たら、なんかいろんなフォルダやファイルができている。
ずいぶん昔からThunderbirdを愛用しているのでゴミだらけになっているっぽい。
掃除しよう。
サンダーバードを落として、バックアップをとった後、フォルダ内を全て抹消。
(例)
Profiles\XXXXXXXX.default\ImapMail\xxxxxxxxxx
上記の「xxxxxxxxxx」フォルダ内を全消去。
そして、サンダーバード起動。
「xxxxxxxxxx」の中に新たにファイルが作られるが、ずいぶんすっきり。
さて、必要なメールフォルダを以前と同じ名前で作成します。
サーバーのディレクトリを見てみると
.&MMalxU-
こんなディレクトリ達ができています。
それでは新しくできたディレクトリにリネームした旧ディレクトリからファイルをコピーします。
と言いたいところですが、前述の理由で「cp」コマンドが使えません。
そこで、Thunderbirdでメールフォルダ「work」を作成します。
すると、同じようにサーバー上にディレクトリが作成されるのですが、今回は英語名ですので、そのまま
.work
というディレクトリが作られます。これならコマンドで操作ができます。
★★★★
# cp -R .MMalxU-/cur .work
これでメールファイルがコピーされます。
次にサンダーバードで「work」を開くと、ずらりとメールが入ってます。
全てのメールを選択して、マウスで所定のメールフォルダにドラッグ・アンド・ドロップ。
★★★★
メールフォルダの数だけ★★★★の操作を繰り返します。
全て終わればThunderbirdのメールフォルダ「work」を削除。
サーバー上のリネームした旧ディレクトリを削除。
ついでに、「.Trash」や「.Drafts」などに入っている「courier~」ディレクトリやファイルを削除。
完了です。
Thunderbirdを立ち上げてチェック。うんうん素晴らしい。ちゃんと動いています。
メールフォルダに振り分けていたメールが全て「受信トレイ」に入ってしまっているが、これでちゃんと振り分けられるだろう。
どれ、念のため、メールの振り分けを確認しておくかな。
・・・・・・・・・
しまった・・・・・・。
フォルダを全てクリアしたから振り分け設定も消えちゃった・・・。
じ、自己責任だから・・・
だいじょうぶ・・・だから・・・。
サーバーのディレクトリを「ディレクトリ」。
パソコンのディレクトリを「フォルダ」。
Thunderbirdのフォルダを「メールフォルダ」。
とします。
まずはサーバーディレクトを確認する。
うむ。ちゃんと残っている。
しかし、日本語フォルダのためIMAP-UTF7でエンコードされたファイル名になっているので、コマンドでファイル操作することができない。
というのも、ファイル名が
.&XXXXXX-
という形になっている。
「&(アンパサンド)」が入っているので、これが邪魔してコマンド操作ができない。
ならば、Thunderbirdで同じ名前のメールフォルダを作ってしまえ!と思ったが作れない。たぶんサーバー側で名前重複あたりで受け付けないのだろう。
ふむ。小手先だけではダメっぽい。ちょっと作戦を立てよう。
ということで、
●サーバー上の「メールフォルダ・ディレクトリ」名を変更(旧)
●メールクライアントでメールフォルダ作成(新)
●旧から新へファイルのコピー
でいきます。
●サーバーのディレクトリ名の変更
とはいっても、前述の理由で「mv」コマンドが使えない。
そこで、PHPでリネームするスクリプトを組むことにしました。リネームといっても「&」を消去したファイル名に置き換えるだけのことです。
それをROOTで実行すると、うまく変更できました。
(例)
.&MMalxU-
↓
.MMalxU-
こうなれば普通にコマンド操作ができます。
●メールクライアントでメールフォルダの作成
Thunderbirdでメールフォルダを作ります。
の前に、メールアカウントの「メッセージの保存先」フォルダの中を覗いて見たら、なんかいろんなフォルダやファイルができている。
ずいぶん昔からThunderbirdを愛用しているのでゴミだらけになっているっぽい。
掃除しよう。
サンダーバードを落として、バックアップをとった後、フォルダ内を全て抹消。
(例)
Profiles\XXXXXXXX.default\ImapMail\xxxxxxxxxx
上記の「xxxxxxxxxx」フォルダ内を全消去。
そして、サンダーバード起動。
「xxxxxxxxxx」の中に新たにファイルが作られるが、ずいぶんすっきり。
さて、必要なメールフォルダを以前と同じ名前で作成します。
サーバーのディレクトリを見てみると
.&MMalxU-
こんなディレクトリ達ができています。
それでは新しくできたディレクトリにリネームした旧ディレクトリからファイルをコピーします。
と言いたいところですが、前述の理由で「cp」コマンドが使えません。
そこで、Thunderbirdでメールフォルダ「work」を作成します。
すると、同じようにサーバー上にディレクトリが作成されるのですが、今回は英語名ですので、そのまま
.work
というディレクトリが作られます。これならコマンドで操作ができます。
★★★★
# cp -R .MMalxU-/cur .work
これでメールファイルがコピーされます。
次にサンダーバードで「work」を開くと、ずらりとメールが入ってます。
全てのメールを選択して、マウスで所定のメールフォルダにドラッグ・アンド・ドロップ。
★★★★
メールフォルダの数だけ★★★★の操作を繰り返します。
全て終わればThunderbirdのメールフォルダ「work」を削除。
サーバー上のリネームした旧ディレクトリを削除。
ついでに、「.Trash」や「.Drafts」などに入っている「courier~」ディレクトリやファイルを削除。
完了です。
Thunderbirdを立ち上げてチェック。うんうん素晴らしい。ちゃんと動いています。
メールフォルダに振り分けていたメールが全て「受信トレイ」に入ってしまっているが、これでちゃんと振り分けられるだろう。
どれ、念のため、メールの振り分けを確認しておくかな。
・・・・・・・・・
しまった・・・・・・。
フォルダを全てクリアしたから振り分け設定も消えちゃった・・・。
じ、自己責任だから・・・
だいじょうぶ・・・だから・・・。
- 関連記事
この記事へのコメント
コメントの投稿
コメントは全て管理人が内容を確認してから表示されます(非公開コメント除く)。
内容によっては表示されない場合がありますことご了承願います。
内容によっては表示されない場合がありますことご了承願います。