Multi-domain compatibility #14
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
mailcloak should work correctly with no specific main domain name. Primary user emails can be from any domain.
local domains can be declared in database to help postfix manage them.
aliases can be from any local domain
Règles simples que je te conseille
Alias source (
alias@domain) : domaine doit être local (donc FKalias_domain_id → domains(id)non nullable).Target :
si domaine target ∈ domains ⇒
target_domain_idFK non-null (forward interne)sinon ⇒
target_domain_id = NULL(forward externe)Et la policy RCPT fait :
si RCPT est alias local :
accepter si l’alias existe (et éventuellement si target interne existe Keycloak)
si target externe : accepter (ça devient un forward sortant, donc ce sera géré par ta politique relay + DKIM/ARC plus tard)
👉 Ça te laisse le temps de traiter ARC/DKIM sans bloquer la modélisation.
Côté socketmap
alias -> OK <target_email>aucune vérification Keycloak nécessaire ici (tu l’as déjà conclu).
DB :
Policy :
Tu fais en sorte que :
✅ Tu ajoutes une table domains (ou équivalent) dans la DB mailcloak avec is_local/enabled.
✅ Tu modifies policy + socketmap pour considérer ces domaines comme locaux.
✅ Tu passes virtual_mailbox_domains en SQL map (sqlite:/…) basée sur cette table.
✅ (Optionnel) Tu peux supprimer virtual_mailbox_maps si la policy est vraiment stricte et fiable (et que tu acceptes le trade-off “filet de sécurité Postfix” en moins).
Config postfix :
main.cf
/etc/postfix/sql/virtual_mailbox_domains.cf