Mailbox Zero
Can't reach Inbox Zero? Just create a new one.
MailboxZero is a server that provides you an infinite number of mailboxes that you can check via a REST API.
It combines a SMTP server that accepts incoming emails and a web server that provides access to the emails over a REST API.
How to use it
mb0.wtte.ch is a demo instance of MailboxZero
- Send an email to
[email protected]
- Visit http://mb0.wtte.ch:8880/api/[email protected] for a list of messages in your mailbox
- Retrieve an individual message by visiting
http://mb0.wtte.ch:8880/api/[email protected]/<messageID>
Messages get deleted about ten minutes after arriving. You get a parsed version of the email, not the raw email. MailboxZero will show you:
- the richest body, usually the HTML version
- the simplest body, usually the plain text version
- the URLs in each body
- the headers of the email as a list of
(name, value)
pairs - the subject, from and date fields
Deploying your own instance
Quick start:
- Install Python 3.8 or newer
- Install MailboxZero
pip install -U mailboxzero
- Run
mailboxzero
asroot
.
To run an instance reachable from the public internet you need a public IP,
assign a hostname to it, and setup a MX record to point to that hostname. You
should also use something like systemd to run MailboxZero in order to limit its
privileges and not run it as root
.
Development
Setup the development dependencies with python -m pip install -U -r dev-requirements.txt
.
We use pytest
to run the tests in tests/
.
Main libraries used: