Receive emails on your own server and forward them wherever you need.
Receive: Host your own email inbox on any domain or subdomain.
Filter: Create rules to sort emails by sender, subject, attachments, or size.
Forward: Send matching emails to your apps via webhooks.
Manage: Browse, search, and read your emails from a clean web interface.
- Unlimited mailboxes on your domains
- Plus-addressing support (inbox+tag@domain.com)
- Webhook notifications with custom filters
- Signed payloads for secure integrations
- Attachment support
- Automatic retention policies
- Multi-user with role management
- Two-factor authentication
- Receive transactional emails in your app
- Parse incoming invoices or receipts
- Build a shared team inbox
- Automate email-triggered workflows
- Archive emails for compliance
Configure your DNS to point to your server, then run Mailgress with Docker.
docker run -d \
--name mailgress \
-p 8080:8080 \
-p 2525:2525 \
-v mailgress-data:/app/data \
-e APP_URL=https://mailgress.example.com \
-e WEBHOOK_SECRET=your-secret-key \
ghcr.io/jr-k/mailgress:latestservices:
mailgress:
image: ghcr.io/jr-k/mailgress:latest
container_name: mailgress
restart: unless-stopped
ports:
- "8080:8080"
- "2525:2525"
volumes:
- mailgress-data:/app/data
environment:
- APP_URL=https://mailgress.example.com
- WEBHOOK_SECRET=your-secret-key
volumes:
mailgress-data:- 8080: Web interface
- 2525: SMTP server (map to 25 if needed with
-p 25:2525)
Check LICENSE.md