A self-hosted, open-source tool to back up Microsoft 365 mailboxes to standard .eml files. It features a web UI for managing backups, background tasks, search, preview functionality, and secure Microsoft OAuth 2.0 login.
+
+
Features
+
+
Web-Based Management Panel: Modern web interface for all operations.
+
Secure Authentication: Microsoft Identity Platform OAuth 2.0 login with MFA support.
+
Selective Backup: Choose specific users from the tenant list.
+
Date Filtering: Back up items by date range.
+
Background Tasks: Large jobs run asynchronously via Celery + Redis.
+
Task Status Dashboard: Monitor task progress and results.
+
Interactive Restore Portal:
+
+
Navigation through mailbox folders
+
List of emails in selected folder
+
In-browser email preview without downloading
+
+
+
Privacy-by-Design: Email previews blurred by default, hover-to-reveal for admins.
+
Full-Text Search: Search subject and body of emails.
+
Automated Installation: Single install.sh script deploys the app on Ubuntu.
+
+
+
Architecture
+
+
Backend: Python, Flask
+
Web Server: Gunicorn + Nginx (Reverse Proxy)
+
Background Tasks: Celery
+
Queue/Broker: Redis
+
Frontend: HTML, Pico.css, HTMX
+
Authentication: Microsoft Identity Platform (OAuth 2.0)
+
+
+
Installation Guide
+
+
I. Azure Portal Configuration
+
+
App Registration:
+
+
Go to portal.azure.com → Azure Active Directory → App registrations → + New registration
+
Name the app (e.g., M365-Backup-Tool) and click Register