I’m moving from Google apps email to Stalwart self hosted.
I’ve read the process of using Google Takeout the Vandelay to import all emails, calendar,etc.
There will be a gap between the takeout and my importing and switching to Stalwart
Am I right in thinking that I can do a new Google Takeout, run vandelay again on the new Takeout data, and any new emails or calendar entries between the first and second run will get imported without affecting any new emails that have arrived in Stalwart?
Is there a reason to use Google Takeout Vs pointing vandelay directly to the mail server?
Thanks
I understand that topics in this category are triaged by a bot first but a human reply will follow up. If I’d prefer a human-only reply, I’ll add the no-ai tag to my topic.
Your understanding is close, with one nuance about the archive.
Re-running Takeout imports: Vandelay’s Takeout importer is idempotent by content hash — messages are identified by the BLAKE3 hash of their raw bytes, so re-running import against a fresh Takeout export (even a differently-named/located extraction) only adds what’s new; already-imported messages are recognized and skipped. Calendar/contact items are matched by their UID. However, an archive records the canonical path of the Takeout tree it was built from, so pointing the same archive at a second Takeout extracted to a different directory will be refused unless you pass --allow-source-change. Then, when you vandelay export that archive onto Stalwart, export also reconciles statelessly against what’s already on the target account, so it won’t duplicate or disturb mail that has already arrived directly into Stalwart in the meantime — it just adds what’s in the archive that isn’t there yet.
Takeout vs. pointing Vandelay directly at Gmail: Vandelay can import directly from Gmail over IMAP (and Google’s CalDAV/CardDAV where applicable) instead of requiring a Takeout export/unzip cycle, e.g.:
Reading live over IMAP avoids the manual “request Takeout, wait, download, unzip” cycle and lets you re-run the import right up to the moment of cutover with no gap at all, since it’s reading the account’s current live state rather than a point-in-time export. Takeout is mainly useful when you don’t have (or don’t want to use) IMAP/API credentials, or you want an offline snapshot file to work from. Both paths converge into the same archive-then-export model, so the reconciliation behavior on export is identical either way.