Eigen project / migratie en herstel

MailSync

Elke mailboxbeslissing uitleggen voordat die onomkeerbaar wordt.

01 / Doel

Doel en scope.

Een zelfgehoste tool voor het migreren en synchroniseren van IMAP-mailboxen, met veiligheid voorop. MailSync combineert herbruikbare command-line-workflows met een vaste webapplicatie voor opgeslagen taken, afgebakende werkruimtes, bediening van runs, logs en back-ups.

Uitlegbare migraties in één richting uitvoeren tussen IMAP-servers.

Vóór het toepassen voor elk bericht een leesbare uitkomst geven: COPY, SKIP, REVIEW of ERROR.

Inloggegevens, auditstatus en migratiegeschiedenis in handen van de beheerder houden.

Veilig herstellen wanneer een bericht op de server is toegevoegd, maar de lokale status onzeker is.

02 / Interactieve demo

MailSync: een migratieplan begrijpen.

Open een opgeslagen taak of maak een eigen voorbeeld. Controleer de testgegevens, bekijk de mapkoppelingen, voer dan een voorbeeldinspectie uit en beoordeel de beslissingen en logs.

Over deze demoEen interactieve lokale preview met fictieve gegevens, ingebouwd in dit portfolio. De demo zelf is in het Engels, net als de applicatie. De taken, mailboxinstellingen en de schermen Run, Folders en Logs zijn overgenomen uit MailSync. De beslissingsinspector legt de planningsregels uit. Verbindingen en voortgang gebruiken meegeleverde testgegevens; er wordt geen mailbox verbonden en geen mail verplaatst. Wijzigingen verdwijnen als je de pagina herlaadt.

03 / Beslissingen

Technische beslissingen.

Eerst een proefrun

Wijzigingen in een mailbox zijn lastig terug te draaien, en twijfelachtig IMAP-bewijs hoort tot een beoordeling te leiden, niet tot een optimistische wijziging.

Exacte hashes

Een Message-ID kan ontbreken, dubbel voorkomen of misleidend zijn, dus de inhoud van het bericht telt mee voor de identiteit.

Vastleggen vóór bijwerkingen

Het systeem moet een crash of verbroken verbinding overleven, ook als het onduidelijk is of de server iets heeft verwerkt dat lokaal nog niet is vastgelegd.

Eén gedeelde engine

De webapplicatie en de CLI gebruiken dezelfde plannings- en veiligheidslogica, zodat de twee interfaces niet uit elkaar kunnen groeien.

04 / Architectuur

Hoe het werkt.

01

Plannen

Bron- en doelmailboxen scannen, het plan koppelen aan hun mailboxgeneraties en elk bericht classificeren.

02

Uitleggen

Met headers en exacte inhoudshashes veilige kopieën onderscheiden van twijfelachtig bewijs dat beoordeeld moet worden.

03

Vastleggen

Een PREPARED-poging opslaan vóór de wijziging in de externe mailbox, zodat onderbroken werk herstelbaar blijft.

04

Toepassen & controleren

Toevoegen, de identifier van het doel vereisen, de exacte inhoud teruglezen en pas daarna mapping en status vastleggen.

05 / Technologie

De onderdelen.

PythonIMAPSMTPMariaDB / MySQLSQLiteFernet-versleutelingServer-gerenderde web-UICLI

06 / Projectstatus & roadmap

Huidige stand en volgende stappen.

Nu
  • Het verstevigde migratiepad in één richting is een release candidate, gecontroleerd in lokale tests.
  • 406 geautomatiseerde tests slagen; drie worden overgeslagen vanwege de testomgeving.
  • Opgeslagen taken, werkruimtes per eigenaar, logs, back-ups en bediening van runs zitten in de vaste applicatie.
  • Synchronisatie in twee richtingen kan wijzigingen plannen; het toepassen ervan staat bewust nog uit.
Gepland
  • Een eerste gecontroleerde run op echte mailboxen, plus een live integratietest met MariaDB.
  • Hetzelfde crashbestendige kopieerprotocol naar synchronisatie in twee richtingen brengen.
  • Controles vooraf, wachtrijen, planning en exporteerbare rapportages voor bulkmigraties afmaken.
  • Voorinstellingen per provider, OAuth, throttlingprofielen en hervatbare runs toevoegen.