# Géré par Set-OPS (rôle serveur_postfix). Ne pas éditer à la main. # # Carte LDAP : valide qu'une adresse locale correspond à un compte. La livraison passe # par LMTP (`virtual_transport`), donc Postfix ne se sert du résultat que comme d'un # CONTRÔLE D'EXISTENCE — la valeur rendue est ignorée. # # ROUTAGE PAR IDENTIFIANT, et non par l'attribut `mail`. Dovecot le fait déjà # (`mail_home = /var/vmail/%{user | username}` : la partie locale, jamais `mail`), et les # deux moitiés ne s'accordaient que par coïncidence — tant que `mail` valait # `uid@{{ '{{' }} domaine_interne {{ '}}' }}`. Le jour où l'adresse de notification d'une # personne est devenue son adresse publique, la livraison interne a cessé sans qu'aucune # erreur n'apparaisse nulle part. Constaté le 2026-08-08 par `make courriel-plan`. # # Conséquence assumée : l'adresse interne est DÉRIVÉE de l'identifiant et ne se choisit # pas. Un alias voulu passerait par `virtual_alias_maps`, qui n'est pas câblé sur # l'annuaire aujourd'hui. En échange, `mail` redevient libre de porter la vraie adresse de # la personne — celle que Keycloak affiche et que « mot de passe oublié » utilise. # # `domain` limite la carte au domaine local : sans lui, Postfix interrogerait l'annuaire # pour n'importe quel destinataire, et un `uid` qui existe suffirait à capter une adresse # d'un autre domaine. server_host = {{ serveur_postfix_ldap_serveur }} search_base = {{ serveur_postfix_ldap_base }} domain = {{ serveur_postfix_domaine }} query_filter = (&(objectClass=inetOrgPerson)(uid=%u)) result_attribute = uid bind = yes bind_dn = {{ serveur_postfix_ldap_bind_dn }} bind_pw = {{ serveur_postfix_ldap_bind_password }} version = 3