From b591539c8a09b504c1180f8f5f1227977972fa23 Mon Sep 17 00:00:00 2001 From: xeoneox Date: Thu, 20 Feb 2025 14:50:52 -0500 Subject: [PATCH] example_configs: Add Stalwart Failed at getting Docker Mailserver and Maddy working, so I wrote a config for Stalwart Mailserver instead --- example_configs/stalwart.md | 51 +++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 example_configs/stalwart.md diff --git a/example_configs/stalwart.md b/example_configs/stalwart.md new file mode 100644 index 0000000..866ade0 --- /dev/null +++ b/example_configs/stalwart.md @@ -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 = "" + [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 +```