Set-OPS-Public/roles/serveur_postfix/templates/main.cf.j2
Daniel Allaire 9480e585a5 serveur_postfix (Postfix 3.x) : MTA edge-mta — cartes LDAP + LMTP + TLS step_ca
Réception :25, validation des boîtes par carte LDAP (attribut mail),
remise LMTP réseau vers le mail-store Dovecot (virtual_transport lmtp),
TLS via step_ca (pont de cert), aucune boîte locale. main.cf +
ldap-mailboxes.cf, validé par postfix check. Bind LDAP: vault_openldap_admin.

Validé statiquement (ansible-lint, syntax, rendu main.cf) ; déploiement à suivre.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 15:34:24 -04:00

34 lines
1.2 KiB
Django/Jinja

# Géré par Set-OPS (rôle serveur_postfix). Ne pas éditer à la main.
compatibility_level = 3.6
myhostname = {{ serveur_postfix_nom_hote }}
mydomain = {{ serveur_postfix_domaine }}
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_banner = $myhostname ESMTP
mynetworks = {{ serveur_postfix_reseaux_confiance }}
# Aucune remise locale : ce MTA ne fait QUE des boîtes virtuelles (via LDAP + LMTP).
mydestination =
local_recipient_maps =
# --- Boîtes virtuelles : validation LDAP + remise LMTP vers le nœud mail-store (Dovecot) ---
virtual_mailbox_domains = {{ serveur_postfix_domaine }}
virtual_mailbox_maps = ldap:/etc/postfix/ldap-mailboxes.cf
virtual_transport = lmtp:inet:[{{ serveur_postfix_mailstore_hote }}]:{{ serveur_postfix_lmtp_port }}
{% if serveur_postfix_tls_actif %}
# --- TLS (certificat step_ca) ---
smtpd_tls_cert_file = {{ serveur_postfix_tls_dir }}/cert.pem
smtpd_tls_key_file = {{ serveur_postfix_tls_dir }}/key.pem
smtpd_tls_security_level = may
smtpd_tls_protocols = >=TLSv1.2, !SSLv2, !SSLv3
smtp_tls_security_level = may
{% endif %}
# --- Restrictions de base ---
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination