Imap 파일 및 폴더를 우분투의 Gmail 계정으로 가져오기

Imap 파일 및 폴더를 우분투의 Gmail 계정으로 가져오기

제가 충분히 명확하지 않다면 죄송합니다. 하지만 저는 이 분야에 익숙하지 않기 때문에 모든 용어를 알지 못합니다. 그리고 내 영어를 유감스럽게 생각합니다.

  1. 백업으로 나는 많은 폴더와 파일 형태의 이전 공급자로부터의 모든 이메일을 가지고 있습니다. (파일은 일반 이메일 파일입니다. 폴더는 웹 메일에 있는 원래 폴더의 평면 구조인 것 같습니다.)

  2. Google 앱을 통해 Gmail에 있는 새 이메일 계정으로 모든 기존 메일을 가져와야 합니다.

내가 시도한 것:

  1. 저는 Emailchemy를 사용하여 폴더를 변환했는데 이전 이메일 계정의 폴더 구조를 재구성할 수 있는 것 같습니다. (아직 데모버전만 사용해봤습니다)
  2. 그런 다음 Gmail의 메일 계정 중 하나에 imap 연결을 사용하여 Thunderbird에 이메일 계정을 만들었습니다.
  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 *

그리고 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 계정의 이름을 다시 변경하고 내보내기로 인해 단순해진 폴더 구조도 다시 만들었습니다.

관련 정보