Mail-Archiver is a web application for archiving, searching, and exporting emails from multiple accounts. Featuring folder sync, attachment support, mailbox migration and a dashboard.
C#
2,205
732 commits
updated Oct 11, 2026
A comprehensive solution for archiving, searching, and exporting emails
π Website: mail-archiver.org π Roadmap: Project Portal

/mcp that exposes the same read-only archive to AI agents as discoverable tools (search_emails, get_email, list_accounts, list_folders, get_attachment) (MCP Guide)DeletionPolicy__DeletionAllowed=falseFor detailed documentation on installation, configuration, and usage, please refer to the Documentation Index. Please note that the documentation is still fresh and is continuously being expanded.
Install the prerequisites on your system
Create a docker-compose.yml file
services:
mailarchive-app:
image: s1t5/mailarchiver:latest
restart: always
environment:
# Database Connection
- ConnectionStrings__DefaultConnection=Host=postgres;Database=MailArchiver;Username=mailuser;Password=masterkey;
# Authentication Settings
- Authentication__Username=admin
- Authentication__Password=secure123!
# TimeZone Settings
- TimeZone__DisplayTimeZoneId=Etc/UCT
ports:
- "5000:5000"
networks:
- postgres
volumes:
- ./data-protection-keys:/app/DataProtection-Keys
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:17-alpine
restart: always
environment:
POSTGRES_DB: MailArchiver
POSTGRES_USER: mailuser
POSTGRES_PASSWORD: masterkey
volumes:
- ./postgres-data:/var/lib/postgresql/data
networks:
- postgres
healthcheck:
test: ["CMD-SHELL", "pg_isready -U mailuser -d MailArchiver"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
networks:
postgres:
Edit the database configuration in the docker-compose.yml and set a secure password in the POSTGRES_PASSWORD variable and the ConnectionString.
Definie a Authentication__Username and Authentication__Password which is used for the admin user.
Adjust the TimeZone__DisplayTimeZoneId environment variable to match your preferred timezone (default is "Etc/UCT"). You can use any IANA timezone identifier (e.g., "Europe/Berlin", "Asia/Tokyo").
Configure a reverse proxy of your choice with https to secure access to the application.
β οΈ Attention The application itself does not provide encrypted access via https! It must be set up via a reverse proxy!
docker compose up -d
docker compose restart
Access the application in your prefered browser.
Login with your defined credentials and add your first email account:
For all configuration options, see the Setup Guide.
We welcome contributions from the community! Please read our Contributing Guide for detailed information about how to contribute to Mail Archiver.
For code changes by third parties, please coordinate with us via email at mail@s1t5.dev before making any changes.
You can also:
If you find this project useful and would like to support its continued development, you can buy me a coffee! Your support helps me dedicate more time and resources to improving the application and adding new features. While financial support is not required, it is greatly appreciated and helps ensure the project's ongoing maintenance and enhancement.
With the generous support of our sponsors, Mail Archiver continues to evolve. Thank you for making it possible!
Disclaimer: The services listed above are third-party offerings and are neither affiliated with, endorsed by, nor tested by the Mail Archiver project.
A special thanks to all individual sponsors who support this project through GitHub Sponsors, Ko-fi, and Buy Me a Coffee. Your contributions make a real difference!
π License: GNU GENERAL PUBLIC LICENSE Version 3 (see LICENSE file)
2,241 followers Β· starred Mar 2026
1,061 followers Β· starred Nov 2025
352 followers Β· starred Oct 2025
426 followers Β· starred Nov 2025
Mail-Archiver is a web application for archiving, searching, and exporting emails from multiple accounts. Featuring folder sync, attachment support, mailbox migration and a dashboard.
C#
2,205
732 commits
updated Oct 11, 2026
A comprehensive solution for archiving, searching, and exporting emails
π Website: mail-archiver.org π Roadmap: Project Portal

/mcp that exposes the same read-only archive to AI agents as discoverable tools (search_emails, get_email, list_accounts, list_folders, get_attachment) (MCP Guide)DeletionPolicy__DeletionAllowed=falseFor detailed documentation on installation, configuration, and usage, please refer to the Documentation Index. Please note that the documentation is still fresh and is continuously being expanded.
Install the prerequisites on your system
Create a docker-compose.yml file
services:
mailarchive-app:
image: s1t5/mailarchiver:latest
restart: always
environment:
# Database Connection
- ConnectionStrings__DefaultConnection=Host=postgres;Database=MailArchiver;Username=mailuser;Password=masterkey;
# Authentication Settings
- Authentication__Username=admin
- Authentication__Password=secure123!
# TimeZone Settings
- TimeZone__DisplayTimeZoneId=Etc/UCT
ports:
- "5000:5000"
networks:
- postgres
volumes:
- ./data-protection-keys:/app/DataProtection-Keys
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:17-alpine
restart: always
environment:
POSTGRES_DB: MailArchiver
POSTGRES_USER: mailuser
POSTGRES_PASSWORD: masterkey
volumes:
- ./postgres-data:/var/lib/postgresql/data
networks:
- postgres
healthcheck:
test: ["CMD-SHELL", "pg_isready -U mailuser -d MailArchiver"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
networks:
postgres:
Edit the database configuration in the docker-compose.yml and set a secure password in the POSTGRES_PASSWORD variable and the ConnectionString.
Definie a Authentication__Username and Authentication__Password which is used for the admin user.
Adjust the TimeZone__DisplayTimeZoneId environment variable to match your preferred timezone (default is "Etc/UCT"). You can use any IANA timezone identifier (e.g., "Europe/Berlin", "Asia/Tokyo").
Configure a reverse proxy of your choice with https to secure access to the application.
β οΈ Attention The application itself does not provide encrypted access via https! It must be set up via a reverse proxy!
docker compose up -d
docker compose restart
Access the application in your prefered browser.
Login with your defined credentials and add your first email account:
For all configuration options, see the Setup Guide.
We welcome contributions from the community! Please read our Contributing Guide for detailed information about how to contribute to Mail Archiver.
For code changes by third parties, please coordinate with us via email at mail@s1t5.dev before making any changes.
You can also:
If you find this project useful and would like to support its continued development, you can buy me a coffee! Your support helps me dedicate more time and resources to improving the application and adding new features. While financial support is not required, it is greatly appreciated and helps ensure the project's ongoing maintenance and enhancement.
With the generous support of our sponsors, Mail Archiver continues to evolve. Thank you for making it possible!
Disclaimer: The services listed above are third-party offerings and are neither affiliated with, endorsed by, nor tested by the Mail Archiver project.
A special thanks to all individual sponsors who support this project through GitHub Sponsors, Ko-fi, and Buy Me a Coffee. Your contributions make a real difference!
π License: GNU GENERAL PUBLIC LICENSE Version 3 (see LICENSE file)
2,241 followers Β· starred Mar 2026
1,061 followers Β· starred Nov 2025
352 followers Β· starred Oct 2025
426 followers Β· starred Nov 2025