Μετάβαση στο περιεχόμενο
210 440 8777

Wiki · Email

Πώς να συγχρονίσετε email accounts με imapsync

Μεταφορά και συγχρονισμός IMAP mailboxes με το imapsync — από Gmail σε άλλον server, μεταξύ providers, ή για backup. Βήματα, παραδείγματα command, troubleshooting.

Το imapsync είναι το standard εργαλείο για μεταφορά και συγχρονισμό IMAP mailboxes — μεταξύ δύο email servers, για backup, ή για mass migrations. Είναι open-source, στενά συντηρούμενο από το 2007, και υποστηρίζει σχεδόν κάθε email provider.

Αυτός ο οδηγός δείχνει πώς να το χρησιμοποιήσετε για τα πιο συχνά σενάρια.

Πότε χρειάζεστε imapsync

  • Migration από Gmail / Outlook 365 σε νέο εταιρικό email
  • Consolidation πολλών mailboxes σε ένα
  • Backup εξωτερικά από τον primary server
  • Server migration — μετακίνηση mailboxes όταν αλλάζετε hosting
  • Sync μεταξύ δύο providers (πχ. κρατάτε αντίγραφα σε Gmail + Outlook)

Τι κάνει το imapsync

  • Διατηρεί φακέλους (Inbox, Sent, Drafts, custom)
  • Διατηρεί flags (read/unread, flagged, replied)
  • Διατηρεί dates (received, sent)
  • Δεν διπλοτυπώνει — με τη δεύτερη εκτέλεση μεταφέρει μόνο τα νέα messages
  • Υποστηρίζει OAuth2 για Gmail/Office 365
  • Υποστηρίζει resume αν διακοπεί

Εγκατάσταση

Linux (Debian/Ubuntu)

sudo apt update
sudo apt install imapsync

macOS (Homebrew)

brew install imapsync

Windows

Κατεβάστε το official binary από το imapsync.lamiral.info ή τρέξτε σε WSL.

Verification

imapsync --version

Θα πρέπει να δείτε κάτι σαν imapsync 2.x.x.

Παράδειγμα 1: Migration από Gmail σε εταιρικό email

imapsync \
  --host1 imap.gmail.com \
  --port1 993 \
  --ssl1 \
  --user1 [email protected] \
  --password1 'app-password-here' \
  --host2 mail.symbols.gr \
  --port2 993 \
  --ssl2 \
  --user2 [email protected] \
  --password2 'newpassword'

Σημαντικό για Gmail: το --password1 πρέπει να είναι App Password, όχι ο κανονικός κωδικός. Δημιουργήστε ένα από το Google Account → Security → 2-Step Verification → App passwords.

Παράδειγμα 2: Migration από Office 365

imapsync \
  --host1 outlook.office365.com \
  --port1 993 \
  --ssl1 \
  --user1 [email protected] \
  --password1 'password' \
  --host2 mail.symbols.gr \
  --port2 993 \
  --ssl2 \
  --user2 [email protected] \
  --password2 'newpassword'

Για OAuth2 (όταν 2FA είναι enabled):

imapsync \
  --host1 outlook.office365.com \
  --user1 [email protected] \
  --oauthaccesstoken1 'YOUR_OAUTH_TOKEN' \
  --host2 mail.symbols.gr \
  --user2 [email protected] \
  --password2 'newpassword'

Παράδειγμα 3: Mass migration (πολλούς accounts μαζί)

Δημιουργήστε ένα accounts.csv:

[email protected];app-pass1;[email protected];newpass1
[email protected];app-pass2;[email protected];newpass2
[email protected];app-pass3;[email protected];newpass3

Και ένα migrate.sh:

#!/bin/bash
while IFS=';' read -r u1 p1 u2 p2; do
  echo "Migrating $u1$u2"
  imapsync \
    --host1 imap.gmail.com --port1 993 --ssl1 \
    --user1 "$u1" --password1 "$p1" \
    --host2 mail.symbols.gr --port2 993 --ssl2 \
    --user2 "$u2" --password2 "$p2" \
    --logfile "logs/$u1.log"
done < accounts.csv

Χρήσιμα flags

FlagΤι κάνει
--dryTest run — δεν μεταφέρει τίποτα, δείχνει τι θα έκανε
--folder INBOXΣυγχρονισμός μόνο ενός φακέλου
--exclude 'Spam|Trash'Αποκλεισμός spam/trash
--minsize 1Skip empty messages
--maxsize 50000000Skip messages > 50 MB
--maxage 365Μόνο emails νεότερα από 365 ημέρες
--logfile sync.logΑναλυτικό log σε αρχείο
--useheader 'Message-Id'Αποφυγή διπλοτύπων
--delete2 --delete2foldersΔιαγραφή στον προορισμό όσων δεν υπάρχουν στην πηγή (sync mode)

Πόσο διαρκεί

  • ~1.000 emails = 2–5 λεπτά
  • ~10.000 emails = 20–40 λεπτά
  • ~100.000 emails = 4–8 ώρες
  • ~500.000+ emails = 24–48 ώρες

Εξαρτάται από:

  • Συνολικό μέγεθος (όχι μόνο count)
  • Network speed σε σχέση με και τους δύο servers
  • Rate limits του παρόχου (Gmail έχει ~10 GB/24h limit)

Troubleshooting

«Authentication failed»

  • Σε Gmail: χρησιμοποιείτε App Password, όχι κανονικό
  • Σε Outlook: ίσως χρειάζεται να επιτρέψετε «Less secure apps» ή να χρησιμοποιήσετε OAuth2
  • Έλεγχος host/port — Gmail είναι imap.gmail.com:993, όχι smtp.gmail.com

«Maximum quota exceeded»

  • Ο προορισμός είναι γεμάτος — αυξήστε το quota
  • Ή χρησιμοποιήστε --maxage 90 για να μεταφέρετε μόνο πρόσφατα emails

«Connection timed out»

  • Network issue ή ο server μπλοκάρει IPs
  • Δοκιμάστε με --timeout 300
  • Ή τρέξτε από διαφορετικό network (cloud VPS)

Διακόπηκε στη μέση

  • Απλά ξανατρέξτε την ίδια εντολή. Το imapsync ξεκινάει από εκεί που σταμάτησε.

Gmail rate limit (~750 emails/min)

  • Προσθέστε --maxbytespersecond 5000000 (5 MB/s)
  • Ή --maxmessagespersecond 2

Verification μετά το migration

  1. Συγκρίνετε counts ανά φάκελο στα δύο mailboxes
  2. Ελέγξτε ότι ημερομηνίες διατηρήθηκαν (sort by date στο νέο)
  3. Ελέγξτε ότι read/unread status είναι σωστό
  4. Ψάξτε ένα συγκεκριμένο παλιό email και επιβεβαιώστε ότι μεταφέρθηκε

Αδειοδότηση

Το imapsync είναι ελεύθερο για προσωπική χρήση. Για επαγγελματική / commercial χρήση, ο δημιουργός ζητάει μια συμβολική donation. Δείτε το official site για λεπτομέρειες.

Στα έργα μας στη Symbols, μεταφέρουμε mailboxes σε δεκάδες migrations / μήνα. Έχουμε δικά μας scripts για bulk migrations με logging, retries και verification. Αν θέλετε help, στείλτε email στο [email protected].

Σχετικά

✦ Premium support

Δεν έχεις χρόνο για troubleshooting;

Αγόρασε credits τεχνικής υποστήριξης και θα το φτιάξουμε εμείς για σένα. Ένας εξειδικευμένος agent της Symbols στο πλευρό σου, αυθημερόν response, fix με γραπτή εγγύηση. Ή αν έχεις ήδη credits, συνδέσου στο support portal για να ανοίξεις ticket.

Αγορά credits