mail4one/README.md

45 lines
1.8 KiB
Markdown
Raw Normal View History

2018-12-18 12:04:03 -05:00
# mail4one
2020-08-06 18:26:12 -04:00
Mail server for single user #asyncio #python
2018-12-18 12:09:19 -05:00
2018-12-19 03:18:52 -05:00
## Features
* smtp server with STARTTLS
* pop3 server with TLS
* Both running on single thread using asyncio
* Saves mails in simple Maildir format (i.e one file per email message)
* After opening port, drops root privileges. So the process will not running as `nobody`
## How to use
echo -n "balki is awesome+<YOUR PASSWORD>" | sha256sum
pipenv install
sudo $(pipenv --venv)/bin/python ./run.py --certfile /etc/letsencrypt/live/your.domain.com/fullchain.pem --keyfile /etc/letsencrypt/live/your.domain.com/privkey.pem /var/mails --password_hash <PASSWORD_HASH_FROM_ABOVE>
2020-08-06 19:52:05 -04:00
## Just pop server for debugging
pipenv run python -m mail4one.pop3 /path/to/mails 9995 your_password
2018-12-19 03:18:52 -05:00
## Nextups
* Support sending emails - Also support for popular services like mailgun/sendgrid
* Smart assistant like functionality. For e.g.
* You don't need all emails of package deliver status. Just the latest one would be enough.
* Some type of emails can auto expire. Old newsletters are not very helpful
* Aggregate emails for weekend reading.
* Small webserver
* SPAM filtering - not that important as you can use unique addresses for each service. e.g. facebook@mydomian.com, bankac@mydomain.com, reddit@mydomain.com etc. You can easily figure out who sold your address to spammers and block it.
## Goals
* Intended to be used for one person. So won't have features that don't make sense in this context. e.g. LDAP AUTH, Mail quota, etc,
* Supports only python3.7. No plans to support older versions
## Known to work
* Server: Google Cloud f1-micro with Ubuntu 18.04 - Always Free instance
* Clients: thunderbird, evolution, k9mail
2020-08-06 18:26:12 -04:00
* smtp: Received email from all. Didn't see any drops. Tested from gmail, protonmail, reddit and few others
2018-12-19 03:18:52 -05:00
## Contribution
Pull requests and issues welcome