1
0
Fork 0
1Panel-Appstore/maddy-mail/README_en.md

98 lines
3.4 KiB
Markdown

# User Guide
## 1. Prepare Domain Certificates
Prepare a domain certificate using tools like `acme.sh`, `certbot`, or manual upload. Modify the configurations as needed.
The certificate domain should correspond to the mail server's `MX` hostname, such as `mail.example.com`.
## 2. Install the Application
Install the application from the app store.
The first installation may show an error and the container may not run properly due to missing certificate files.
Ignore the error and proceed to the next step.
## 3. Place the Domain Certificate into the Volume
If the maddydata directory is not present in the container storage volume, you need to manually execute:
```
docker volume create maddydata
```
The default path for the volume is:`/var/lib/docker/volumes/maddydata/_data/`
```
# Enter the volume path
cd $(docker volume inspect maddydata --format '{{.Mountpoint}}')
# Create certificate folder
mkdir -p tls
```
Upload the certificate and private key to the tls folder, and rename them as:
- fullchain.pem
- privkey.pem
Once the certificates are correctly uploaded, the container will automatically start running.
## 4. Configure DKIM DNS Records
### 4.1 Retrieve DKIM Values
After the container starts running, check the path:`/var/lib/docker/volumes/maddydata/_data/dkim_keys`
You will find a file named like `example.com_default.dns`.
This file contains the required DKIM information.
- Make sure to modify the domain as needed.
To view the contents in the terminal:
```
cat /var/lib/docker/volumes/maddydata/_data/dkim_keys/example.com_default.dns
```
Example output:
```
default._domainkey.example.org. TXT "v=DKIM1; k=ed25519; p=nAcUUozPlhc4VPhp7hZl+owES7j7OlEv0laaDEDBAqg="
```
### 4.2 Set DNS TXT Record
Set the `DNS records` based on the retrieved information.
For example:
Add a `TXT` record for `default._domainkey.example.com` with the value `v=DKIM1; k=ed25519; p=nAcUUozPlhc4VPhp7hZl+owES7j7OlEv0laaDEDBAqg=`.
## 5. Set DNS Records
- Ensure modifications as needed.
| Record Type | Domain | Value |
|-------------| --- |-------------------------------------------------------------|
| A | `mail.example.com` | `Server IPv4 Address` |
| A | `example.com` | `Server IPv4 Address` |
| AAAA | `mail.example.com` | `Server IPv4 Address (if available)` |
| AAAA | `example.com` | `Server IPv4 Address (if available)` |
| MX | `example.com` | `mail.example.com` |
| TXT | `mail.example.com` | `v=spf1 mx ~all` |
| TXT | `example.com` | `v=spf1 mx ~all` |
| TXT | `_dmarc.example.com` | `v=DMARC1; p=quarantine; ruf=mailto:postmaster@example.com` |
| TXT | `_mta-sts.example.com` | `v=STSv1; id=1` |
| TXT | `_smtp._tls.example.com` | `v=TLSRPTv1;rua=mailto:postmaster@example.com` |
## 6. Create Sending Accounts
Access the container terminal via the `Containers` panel and execute the following commands:
- Ensure modifications as needed.
```
maddy creds create postmaster@example.com
maddy imap-acct create postmaster@example.com
```
END