Add sample configuration and documentation #1
28
README.md
28
README.md
@ -1,26 +1,29 @@
|
|||||||
# mail4one
|
# Mail4one
|
||||||
|
|
||||||
Personal mail server for a single user or a small family. Written in pure python with minimal dependencies.
|
Personal mail server for a single user or a small family. Written in pure python with minimal dependencies.
|
||||||
Designed for dynamic alias based workflow where a different alias is used for each purpose.
|
Designed for dynamic alias based workflow where a different alias is used for each purpose.
|
||||||
|
|
||||||
# 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](#dns-records-receiving)
|
1. Setup [MX record](#dns-records-receiving)
|
||||||
1. Build/Download latest release - `mail4one.pyz`
|
1. [Build](#building-from-source) / Download latest release - `mail4one.pyz`
|
||||||
1. Generate `config.json` from [config.sample](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](deploy_configs/) for examples
|
1. [Optional] Setup systemd service and TLS certificates. See [deploy_configs](deploy_configs/) for examples
|
||||||
|
|
||||||
# Sending email
|
# Sending email
|
||||||
|
|
||||||
mail4one only takes care of receiving and serving email. For sending email, use an external service like below
|
Mail4one only takes care of receiving and serving email. For sending email, use an external service like below
|
||||||
|
|
||||||
* https://www.smtp2go.com/pricing/
|
* https://www.smtp2go.com/pricing/
|
||||||
* 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 for no reason.
|
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
|
||||||
|
|
||||||
@ -30,17 +33,18 @@ For issues, pull requests, discussions, please use github mirror: https://github
|
|||||||
|
|
||||||
# Documentation
|
# Documentation
|
||||||
|
|
||||||
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.
|
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)
|
## 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
|
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 |
|
|Type | Name | Target | Notes |
|
||||||
|----- |------ |-------- |------- |
|
|------|------------------|----------------------|------------------------------------------------------|
|
||||||
| A | mail.example.com | `1.2.3.4` | |
|
| A | mail.example.com | `1.2.3.4` | |
|
||||||
| AAAA | mail.example.com | `abcd:1234::1234::1` | (Optional) |
|
| AAAA | mail.example.com | `abcd:1234::1234::1` | Optional, add if available |
|
||||||
| MX | example.com | `mail.example.com` | |
|
| MX | example.com | `mail.example.com` | |
|
||||||
|
| MX | sub.example.com | `mail.example.com` | Optional, to receive emails like foo@sub.example.com |
|
||||||
|
|
||||||
For sending emails `DMARC`, `DKIM` and `SPF` records need to be set. Please refer to email [sending](#sending-email) provider for details.
|
For sending emails `DMARC`, `DKIM` and `SPF` records need to be set. Please refer to email [sending](#sending-email) provider for details.
|
||||||
|
|
||||||
@ -61,6 +65,6 @@ This should generate `mail4one.pyz` in current folder. This is a [executable pyt
|
|||||||
* 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
|
||||||
* Optional SPAM filtering
|
* Optional SPAM filtering
|
||||||
* Optional DKIM verification
|
* Optional DMARC,SPF,DKIM verification
|
||||||
* Webmail client
|
* Webmail Client
|
||||||
* Web UI to view graphs and smart reports
|
* Web UI to view graphs and smart reports
|
||||||
|
Loading…
Reference in New Issue
Block a user