example_configs: Add Stalwart

Failed at getting Docker Mailserver and Maddy working, so I wrote a config for Stalwart Mailserver instead
This commit is contained in:
xeoneox
2025-02-20 14:50:52 -05:00
committed by GitHub
parent 5d2f168554
commit b591539c8a
+51
View File
@@ -0,0 +1,51 @@
# Stalwart Mailserver
[Stalwart-mailserver](https://github.com/stalwartlabs/mail-server) is a Production-ready full-stack but simple mail server (SMTP, IMAP, LDAP, Antispam, Antivirus, etc.) written in Rust.
To integrate with LLDAP,
1. Add manager user, & make sure to add to lldap_admin group for read/write permission
(TODO: Check if lldap_strict_readonly is enough)
3. Create mail group, add users requiring email access
4. Ensure you correctly add the following ldap settings to your Stalwart `config.toml`.
## Config.toml File Sample - (only the ldap portion)
```toml
[storage]
directory = "ldap"
[directory]
[directory.ldap]
base-dn = "dc=example,dc=org"
timeout = "30s"
type = "ldap"
url = "ldap://ldap.domain.example.org:3890"
[directory.ldap.attributes]
class = "objectClass"
email = "mail"
groups = "member"
name = "uid"
secret = "dummyStalwartSecret"
[directory.ldap.attributes.description]
0 = "displayName"
[directory.ldap.bind]
dn = "uid=manager,ou=people,dc=example,dc=org"
secret = "<YOUR_SECRET>"
[directory.ldap.bind.auth]
dn = "uid=?,ou=people,dc=example,dc=org"
enable = true
search = true
[directory.ldap.bind.filter]
email = "(&(|(objectClass=person)(member=cn=mail,ou=groups,dc=example,dc=org))(mail=?))"
name = "(&(|(objectClass=person)(member=cn=mail,ou=groups,dc=example,dc=org))(uid=?))"
[directory.ldap.cache]
entries = 500
[directory.ldap.filter]
mail = "(&(objectclass=person)(mail=?))"
name = "(&(objectclass=person)(uid=?))"
[directory.ldap.tls]
allow-invalid-certs = true
enable = false
```