Ubuntu の Gmail アカウントに Imap ファイルとフォルダーをインポートする

Ubuntu の Gmail アカウントに Imap ファイルとフォルダーをインポートする

十分に明確でなかったら申し訳ありませんが、私はこの分野に不慣れなので、すべての用語を知っているわけではありません。また、私の英語が下手で申し訳ありません。

  1. バックアップとして、古いプロバイダーからのすべてのメールが、多数のフォルダーとファイルの形式で保存されています (ファイルはプレーンなメール ファイルです。フォルダーは、Web メールの元のフォルダーのフラットな構造のようです)。

  2. Google アプリ経由で Gmail にある新しいメール アカウントにすべての古いメールをインポートする必要があります。

私が試したこと:

  1. Emailchemy を使用してフォルダーを変換しましたが、古いメール アカウントのフォルダー構造を再構築できるようです。(これまではデモ版のみを試しました)
  2. 次に、Gmail のメール アカウントの 1 つに IMAP 接続して、Thunderbird にメール アカウントを作成しました。
  3. 次に、インポート/エクスポート Thunderbird アドオンを使用して、変換されたメールファイルと元のメールファイルを Thunderbird アカウントにインポートしようとしました。

結果:

  1. mbox ファイルを imap アカウントにインポートしようとすると、Thunderbird から mbox ファイルを imap アカウントにインポートできないというメッセージが表示されます。

  2. フォルダーをインポートすると、一部のフォルダーは作成されますが、すべてのフォルダーが作成されず、メールは含まれません。

どうすればいいでしょうか?私の問題を何と呼ぶのでしょうか?

答え1

最善の解決策ではないが、同期問題に対処する良い方法です。

1 つの問題は、Google が許可するデータの量を制限しているため、同期を何度もトリガーする必要があることです。そのため、大きなメール アカウントをアップロードすると、同期にかなり長い時間がかかります。

これが私の設定です.mbsyncrc:

IMAPAccount gmail
Host imap.gmail.com
User emailaddress
Pass password
UseIMAPS yes
CertificateFile /etc/ssl/certs/ca-certificates.crt

IMAPStore gmail-imap
Account gmail


MaildirStore gmail-local
# you have to manually create ~/.mbsync/gmail/ 
Path /path/to/Maildir/
# Inbox required, even if one specifies  :gmail-local:INBOX
# otherwise it goes in ~/Maildir
Inbox /path/to/Maildir/


Channel gmail-inbox
Master :gmail-imap:
Slave :gmail-local:
MaxSize 25MB
Pattern *
Create Both
Expunge Slave
Sync Push
SyncState *

そして、Google が接続をリセットする問題を処理するために、次のシェル スクリプトを使用しました。

while true; do
    mbsync gmail-inbox
    echo "5 minutes pause to next try"
    sleep 240
    echo "one minute remaining"
    sleep 60
done

フォルダーが.you で始まる場合は、ドットを削除する必要があります。次の行で削除できます。

for f in .*; do mv $f "`echo $f | cut -c2- `"; done

今、私はそれを残して明日まで待つことができます:)

述べる

名前に多くの文字やウムラウト、またはウムラウトの下位語を含むフォルダーで問題が発生しました。mbsync は、バッファーが小さすぎるというエラーをスローしました。名前を変更すると解決しました。その後、Gmail アカウントの名前を元に戻し、エクスポートによってフラット化されたフォルダー構造も再作成しました。

関連情報