將 Imap 檔案和資料夾匯入到 ubuntu 上的 Gmail 帳戶

將 Imap 檔案和資料夾匯入到 ubuntu 上的 Gmail 帳戶

抱歉,如果我不夠清楚,但我不知道所有術語,因為我是這個領域的新手。對不起我的英語。

  1. 作為備份,我以許多資料夾和文件的形式保存了來自舊提供者的所有電子郵件(這些文件是純電子郵件文件 - 這些資料夾似乎是網絡郵件中原始資料夾的扁平結構)。

  2. 我需要將所有舊郵件匯入到透過 google-apps 位於 gmail 上的新電子郵件帳戶。

我嘗試過的:

  1. 我使用 Emailchemy 來轉換資料夾,看來我可以重建舊電子郵件帳戶的資料夾結構。 (到目前為止我只嘗試過演示版)
  2. 然後我在 Thunderbird 上建立了一個電子郵件帳戶,透過 imap 連接到 gmail 的郵件帳戶之一。
  3. 然後我嘗試使用匯入/匯出 Thunderbird-addOn 將轉換後的郵件檔案以及原始郵件檔案匯入到 Thunderbird 帳戶。

結果:

  1. 如果我嘗試匯入 mbox 文件,thunderbird 會告訴我無法將 mbox 文件匯入 imap 帳戶。

  2. 如果我匯入資料夾,則會建立一些資料夾,但不是全部資料夾,並且其中不包含任何郵件。

我能做些什麼?你怎麼稱呼我的問題:D?

答案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 *

我使用這個shell腳本來處理google重置連線的問題:

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

如果您的資料夾以.您開頭,則需要刪除點。也許用這一行:

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

現在我可以放下它,等到明天:)

評論

我遇到了一些資料夾的問題,這些資料夾的名稱中包含許多字元或變音符號分別是變音符號的子元素。 mbsync 接著會拋出一個關於緩衝區太小的錯誤。改變名字對我有幫助。然後,我重新更改了 Gmail 帳戶的名稱,並重新建立了資料夾結構,該結構只是透過匯出而扁平化。

相關內容