Add sample configuration and documentation #1

Merged
balki merged 3 commits from doc into main 2023-06-28 16:54:50 -04:00
Showing only changes of commit 5bce78ef58 - Show all commits

View File

@ -6,11 +6,11 @@ Designed for dynamic alias based workflow where a different alias is used for ea
# Getting started # Getting started
1. Get a domain name 1. Get a domain name
1. Get a vps (or a home server). Setup firewall rules for receive on port 25, 995, 465 1. Get a vps (or a home server). Setup firewall rules for receive on port 25, 995, 465
1. Setup MX record 1. Setup [MX record](#dns-records-receiving)
1. Build/Download latest release - `mail4one.pyz` 1. Build/Download latest release - `mail4one.pyz`
1. Generate `config.json` from `deploy_configs/config.sample` 1. Generate `config.json` from [config.sample](deploy_configs/config.sample)
1. Run `./mail4one.pyz -c config.json` 1. Run `./mail4one.pyz -c config.json`
1. [Optional] Setup systemd service and tls certificates. See `deploy_configs/` for examples 1. [Optional] Setup systemd service and tls certificates. See [deploy_configs](deploy_configs/) for examples
# Sending email # Sending email
@ -20,16 +20,29 @@ mail4one only takes care of receiving and serving email. For sending email, use
* https://www.mailgun.com/pricing/ * https://www.mailgun.com/pricing/
* https://sendgrid.com/free/ * https://sendgrid.com/free/
Most of them have generous free tier which is more than enough for personal use. Sending email is tricky. Even if everything is correctly setup (DMARC, DKIM, SPF), popular email vendors like google, microsoft may mark emails sent from your ip as spam Most of them have generous free tier which is more than enough for personal use. Sending email is tricky. Even if everything is correctly setup (DMARC, DKIM, SPF), popular email vendors like google, microsoft may mark emails sent from your ip as spam for no reason.
# Community # Community
Original source is at https://gitea.balki.me/mail4one Original source is at https://gitea.balki.me/balki/mail4one
For issues, pull requests, discussions, please use github mirror: https://github.com/mail4one/mail4one For issues, pull requests, discussions, please use github mirror: https://github.com/mail4one/mail4one
# Documentation # Documentation
See files under `deploy_configs` for configuring and deploying to a standard systemd based linux system (e.g debian, ubuntu, fedora, archlinux etc). `deploy_configs/config.sample` has inline comments for more details. Feel free create github issue/discussions for help. See files under [deploy_configs](deploy_configs/) for configuring and deploying to a standard systemd based linux system (e.g debian, ubuntu, fedora, archlinux etc). [config.sample](deploy_configs/config.sample) has inline comments for more details. Feel free create github issue/discussions for support.
## DNS Records (Receiving)
If you want to receive email for `john@example.com` and your vps ip address is `1.2.3.4`. Following record needs to be created
|Type | Name | Target | Notes |
|----- |------ |-------- |------- |
| A | mail.example.com | `1.2.3.4` | |
| AAAA | mail.example.com | `abcd:1234::1234::1` | (Optional) |
| MX | example.com | `mail.example.com` | |
For sending emails `DMARC`, `DKIM` and `SPF` records need to be set. Please refer to email [sending](#sending-email) provider for details.
# Building from source # Building from source
@ -37,10 +50,13 @@ Make sure to have make, git, python >= 3.9, and pip installed in your system and
make build make build
This should generate `mail4one.pyz` in current folder. This is a [executable python archive](https://docs.python.org/3/library/zipapp.html). Should be runnable as `./mail4one.pyz` or as `python3 mail4one.pyz`.
# Roadmap (Planned features for future) # Roadmap (Planned features for future)
* Other ways to install and update (PIP, AUR, docker etc)
* Write dedicated documentation * Write dedicated documentation
* Test with more email clients (Thunderbird and k9mail is tested) * Test with more email clients ([Thunderbird](https://www.thunderbird.net/) and [k9mail](https://k9mail.app/) are tested now)
* IMAP support * IMAP support
* Web UI for editing config * Web UI for editing config
* Support email submission from client to forward to other senders or direct delivery * Support email submission from client to forward to other senders or direct delivery