433 lines
14 KiB
Django/Jinja
433 lines
14 KiB
Django/Jinja
## fichier principal de configuration de Postfix
|
|
## commentaires de Gregory Colpart reg AT evolix DOT fr
|
|
## version 1.0 : 1ere version publique (05.04.2010)
|
|
|
|
########################
|
|
# Section : Emplacements
|
|
########################
|
|
|
|
# Repertoire ou se trouvent les commandes de postfix [OBLIGATOIRE]
|
|
#par defaut, = $program_directory
|
|
command_directory = /usr/sbin
|
|
|
|
# Repertoire ou se trouvent les demons de postfix [OBLIGATOIRE]
|
|
#par defaut, = $program_directory
|
|
daemon_directory = /usr/lib/postfix/sbin
|
|
|
|
# Variable pour indiquer les emplacements des commandes et demons de postfix
|
|
#program_directory = /usr/lib/postfix
|
|
|
|
# Repertoire contenant les fichiers de boites aux lettres
|
|
#par defaut, = /var/mail
|
|
#mail_spool_directory =
|
|
|
|
# Repertoire de la file d'attente de postfix
|
|
#par defaut, = /var/spool/postfix
|
|
#queue_directory =
|
|
|
|
# Boites aux lettres
|
|
#par defaut, =
|
|
home_mailbox = Maildir/
|
|
|
|
# Transmettre les mails a un MDA
|
|
#par defaut, =
|
|
#mailbox_command = /usr/bin/procmail
|
|
|
|
# Separateur entre noms d'utilisateur et extensions d'adresse
|
|
# mettre + pour integration avec amavis
|
|
#par defaut, =
|
|
recipient_delimiter = +
|
|
|
|
# Controle si le repertoire existe (souvent pour les systemes de fichiers montes)
|
|
#par defaut, = no
|
|
#require_home_directory =
|
|
|
|
# Commande pour transmettre le courrier a un MDA
|
|
#par defaut, =
|
|
#mailbox_command = /usr/bin/procmail
|
|
|
|
# Banniere SMTP affichee
|
|
#par default, = $myhostname ESMTP $mail_name
|
|
smtpd_banner = $myhostname ESMTP mail server
|
|
|
|
# Groupe des commandes set-gid ayant des acces en ecriture
|
|
#par defaut, = postdrop
|
|
# setgid_group = postdrop
|
|
|
|
# Produire des "biff notifications" aux utilisateurs pour
|
|
# prevenir de l'arrivee de nouveaux mails
|
|
# par default, = yes
|
|
#biff = no
|
|
|
|
|
|
####################
|
|
# Section : domaines
|
|
####################
|
|
|
|
# Indique le nom d'hote pleinement qualifie ou se trouve postfix [OBLIGATOIRE]
|
|
#par defaut, = [retour de la commande Unix hostname]
|
|
myhostname = {{ ansible_fqdn }}
|
|
|
|
# Variable indiquant le domaine dans lequel se trouve la machine
|
|
#par defaut, = [partie domain de la variable $myhostname]
|
|
#mydomain =
|
|
|
|
# Liste des noms de domaine (ou IP) consideres comme local
|
|
#par defaut, = $myhostname, localhost.$mydomain, localhost
|
|
mydestination = $myhostname localhost localhost.localdomain localhost.$mydomain
|
|
|
|
# Indique le domaine apparaissant dans le courrier envoye
|
|
#par defaut, = $myhostname
|
|
myorigin = {{ ansible_fqdn }}
|
|
|
|
# Liste de domaine fonctionnant UNIQUEMENT avec des alias virtuels
|
|
#par defaut, = $virtual_alias_maps
|
|
#virtual_alias_domains = [ domaines avec alias virtuels ]
|
|
|
|
# Liste de domaine fonctionnant avec des comptes virtuels
|
|
#par defaut, = $virtual_mailbox_maps
|
|
virtual_mailbox_domains = ldap:$config_directory/virtual_domains.cf
|
|
|
|
# Repertoire de base de l'espace de stockage
|
|
#par defaut, =
|
|
virtual_mailbox_base = /
|
|
|
|
# Ajoute $mydomain aux adresse ne compoirtant que la partie hote sans le domaine
|
|
#par defaut, = yes
|
|
#append_dot_mydomain = no
|
|
|
|
# Ajoute $myorigin aux adresses ne comportant pas de composante de domaine
|
|
#par defaut, = yes
|
|
#append_at_myorigin = no
|
|
|
|
# Liste de domaines cachant des sous-domaines internes
|
|
#par defaut, =
|
|
#masquerade_domains =
|
|
|
|
# A l'exception de certains comptes :
|
|
#par defaut, =
|
|
#masquerade_exceptions = root, admin
|
|
|
|
# Champs d'application de la reecriture des sous-domaines caches
|
|
#par defaut, = envelope_sender, header_sender, header_recipient
|
|
#masquerade_classes =
|
|
|
|
# Sites eligibles pour un vidage rapide (postqueue -s [domain.tld])
|
|
#par defaut, = $relay_domains
|
|
#fast_flush_domains =
|
|
|
|
# Interfaces sur lesquelles ecoutent postfix
|
|
#par defaut, = all
|
|
#inet_interfaces = all
|
|
|
|
# Adresse IP externe du firewall/proxy si derriere NAT ou proxy
|
|
# evite principalement les boucles si MX secondaire et MX primaire indisponible
|
|
#par defaut, =
|
|
#proxy_interfaces = [adresse IP]
|
|
|
|
# Domaines acceptes pour faire relai (MX 2aire)
|
|
#relay_domains = [domaine a relayer]
|
|
|
|
|
|
###########################
|
|
# Section : base de donnees
|
|
###########################
|
|
|
|
# Liste des bases de donnees utilisees par l'agent de distribution locale
|
|
# Pour regenerer une base de donnees : postalias /etc/aliases (par ex)
|
|
#par defaut, = hash:/etc/aliases, nis:mail.aliases
|
|
alias_maps = hash:/etc/aliases
|
|
|
|
# Liste des bases de donnees locales
|
|
# Pour regenerer avec newaliases
|
|
#par defaut, = hash:/etc/aliases
|
|
alias_database = hash:/etc/aliases
|
|
|
|
# Chemin vers la commande newaliases
|
|
#par defaut, = /usr/bin/newaliases
|
|
#newaliases_path =
|
|
|
|
# Base de donnes d'alias virtuels
|
|
# ne pas oublier : postmap /etc/postfix/virtual
|
|
#par defaut, = $virtual_maps
|
|
virtual_alias_maps = hash:$config_directory/virtual, ldap:$config_directory/virtual_aliases.cf
|
|
|
|
# Base de donners des boites virtuelles
|
|
# ne pas oublier : postmap /etc/postfix/vmailbox
|
|
#par defaut, =
|
|
virtual_mailbox_maps = ldap:$config_directory/virtual_mailboxes.cf
|
|
|
|
virtual_uid_maps = static:5000
|
|
virtual_gid_maps = static:5000
|
|
virtual_transport = dovecot
|
|
dovecot_destination_recipient_limit = 1
|
|
|
|
# Reecriture des adresses
|
|
#par defaut, =
|
|
#canonical_maps = hash:/etc/postfix/canonical
|
|
|
|
# Reecriture des adresses a l'arrivee (ecrase $canonical_maps)
|
|
#par defaut, =
|
|
#recipient_canonical_maps = hash:/etc/postfix/canonical
|
|
|
|
# Reecriture des adresses au depart
|
|
#par defaut, =
|
|
#sender_canonical_maps = hash:/etc/postfix/canonical
|
|
|
|
# Adresses changees
|
|
#relocated_maps = hash:/etc/postfix/relocated
|
|
|
|
# Boite pour receptionner tous les utilisateurs inconnus
|
|
#luser_relay = spam
|
|
|
|
# Liste de base de donnees contenant les adresses locales permettant de rejeter les messages aux utilisateurs inconnus
|
|
# (sera nulle pour recuperer les courriels vers les utilisateurs inconnus)
|
|
#par defaut, = proxy:unix:passwd.byname $alias_maps
|
|
#local_recipient_maps =
|
|
|
|
# MAILING-LIST nommee xx
|
|
# dans le fichier /etc/aliases :
|
|
# xx: user1@domain1 user2@domain2 etc.
|
|
# owner-xx: admin@domain
|
|
# Utiliser ou non l'alias xx-owner comme adresse d'enveloppe d'expedition
|
|
#par defaut, = yes
|
|
#owner_request_special =
|
|
|
|
# Utiliser l'adresse relle de l'admin au lieu de xx-owner
|
|
#par defaut, = no
|
|
#expand_owner_alias =
|
|
|
|
|
|
###########################################
|
|
# Section : parametres de la file d'attente
|
|
###########################################
|
|
|
|
# Lorsqu'un message n'a pas ete delivre, Postfix adjoint une marque indiquant le moment ou la prochaine tentaive pourra avoir lieu
|
|
|
|
# Delai au-dela duquel les messages non delivres seront renvoyes a l'expediteur
|
|
#par defaut, = 5d
|
|
#maximal_queue_lifetime =
|
|
|
|
# Delai au-dela duquel les *bounces* non delivres ne seront plus envoyes
|
|
#par defaut, = 5d
|
|
bounce_queue_lifetime = 1d
|
|
|
|
# Intervalle de temps ou postfix examinera la file
|
|
# Il examine notamment la file deferred pour voir si de NOUVEAUX messages sont arrives
|
|
# Il faut aussi que la marque indique qu'ils soient prets
|
|
#par defaut, = 1000s
|
|
#queue_run_delay =
|
|
|
|
# A chaque echec, le delai de la prochaine distribution double, avec les restrictions suivantes :
|
|
# Delai minimal
|
|
#par defaut, = 1000s
|
|
#minimal_backoff_time =
|
|
# Delai maximal
|
|
#par defaut, = 4000s
|
|
#maximal_backoff_time =
|
|
|
|
# Si maxproc est vide (master.cf), nombre maximal est :
|
|
#par defaut, = 100
|
|
#default_process_limit =
|
|
|
|
# Nombre maximal de destinataires stockes en memoire par qmgr pour un transport particulier
|
|
#par defaut, = 10000
|
|
#default_recipient_limit =
|
|
|
|
# Nombre limitant de messages envoyes simultanement INITIALEMENT pour une destination particuliere
|
|
# (forcement majoree par maxproc du master.cf ou $default_process_limit)
|
|
#par defaut, = 5
|
|
#initial_destination_concurrency =
|
|
|
|
# Une fois ces messages distribues, si il reste des messages dans la file d'attente pour cette destination
|
|
# particuliere, postfix augmente le nombre de tentative tant qu'il ne detecte pas de probleme avec
|
|
# la destination, avec la limite suivante :
|
|
#par defaut, = 20
|
|
#default_destination_concurrency_limit =
|
|
|
|
# Cette limite peut etre differente selon le type de transport utilise :
|
|
#par defaut, = $default_destination_concurrency_limit
|
|
#lmtp_destination_concurrency_limit =
|
|
#par defaut, = 2
|
|
#local_destination_concurrency_limit =
|
|
#par defaut, = $default_destination_concurrency_limit
|
|
#relay_destination_concurrency_limit =
|
|
#par defaut, = $default_destination_concurrency_limit
|
|
#smtp_destination_concurrency_limit =
|
|
#par defaut, = $default_destination_concurrency_limit
|
|
#virtual_destination_concurrency_limit =
|
|
|
|
# On peut aussi limiter le nombre maximum de destinataire pour un meme message
|
|
# Si le nombre de destinataire depasse la limite, postfix divise en groupe d'adresses plus petites et envoie des copies distinctes du message
|
|
#par defaut, = 10000
|
|
#default_destination_recipient_limit =
|
|
#par defaut, = $default_destination_recipient_limit
|
|
#lmtp_destination_recipient_limit =
|
|
#par defaut, = 1
|
|
#local_destination_recipient_limit =
|
|
#par defaut, = 20000
|
|
#qmgr_message_recipient_limit =
|
|
#par defaut, = $default_destination_recipient_limit
|
|
#relay_destination_recipient_limit =
|
|
#par defaut, = $default_destination_recipient_limit
|
|
#smtp_destination_recipient_limit =
|
|
#par defaut, = 1000
|
|
#smtpd_recipient_limit =
|
|
#par defaut, = $default_destination_recipient_limit
|
|
#virtual_destination_recipient_limit =
|
|
|
|
# Nombre maximum de destinataires pour un transport lorsque priorite superieure de transport
|
|
#par defaut, = 1000
|
|
#default_extra_recipient_limit =
|
|
|
|
slow_destination_rate_delay = 0
|
|
slow_destination_concurrency_limit = 1
|
|
slow_destination_recipient_limit = 25
|
|
slow_destination_concurrency_failed_cohort_limit = 100
|
|
|
|
# Types d'incidents a rapporter
|
|
# resource : message non delivre pour probleme de ressource
|
|
# software : message non delivre pour probleme de logiciels
|
|
# policy : envoie le transcription smtp d'un message rejete par restrictions
|
|
# protocol : envoie toute transcription smtp erronee
|
|
# delay : envoie les entetes de messages differes
|
|
# bounce : envoie les entetes de tous les message renvoyes
|
|
# 2bounce : envoie les entetes de tous les messages renvoyes non delivres
|
|
#par defaut, = resource, software
|
|
notify_classes = resource, software, bounce, 2bounce, delay, policy, protocol
|
|
|
|
# A qui les reporter ?
|
|
#Pour delay
|
|
#par defaut, = postmaster
|
|
delay_notice_recipient = delay
|
|
#Pour policy, protocol, resource, software
|
|
#par defaut, = postmaster
|
|
error_notice_recipient = error
|
|
#Pour bounce
|
|
#par defaut, = postmaster
|
|
bounce_notice_recipient = bounce
|
|
#Pour 2bounce
|
|
#par defaut, = postmaster
|
|
2bounce_notice_recipient = bounce
|
|
|
|
|
|
########################
|
|
# Section : restrictions
|
|
########################
|
|
|
|
# Restrictions au depart de la conversation
|
|
#par defaut, =
|
|
smtpd_client_restrictions =
|
|
permit_mynetworks,
|
|
permit_sasl_authenticated,
|
|
cidr:$config_directory/spamd.cidr,
|
|
|
|
# Restrictions au niveau de la commande HELO/EHLO
|
|
#par defaut, =
|
|
smtpd_helo_restrictions =
|
|
reject_invalid_hostname
|
|
|
|
# Restrictions au niveau de la commande MAIL FROM
|
|
#par defaut, =
|
|
smtpd_sender_restrictions =
|
|
permit_mynetworks,
|
|
check_sender_access hash:$config_directory/sa-blacklist.access
|
|
|
|
# Restrictions au niveau de la commande MAIL FROM
|
|
#par defaut, = permit_mynetworks, reject_unauth_destination
|
|
smtpd_recipient_restrictions =
|
|
permit_mynetworks,
|
|
permit_sasl_authenticated,
|
|
reject_unauth_destination,
|
|
check_policy_service unix:private/policyd-spf,
|
|
check_client_access hash:$config_directory/client.access_local,
|
|
check_client_access hash:$config_directory/client.access,
|
|
check_sender_access hash:$config_directory/sender.access_local,
|
|
check_sender_access hash:$config_directory/sender.access,
|
|
check_recipient_access hash:$config_directory/recipient.access_local,
|
|
check_recipient_access hash:$config_directory/recipient.access,
|
|
reject_unlisted_recipient,
|
|
reject_unknown_sender_domain,
|
|
reject_non_fqdn_sender,
|
|
reject_unauth_pipelining,
|
|
|
|
policyd-spf_time_limit = 3600
|
|
|
|
header_checks =
|
|
regexp:$config_directory/header_kill_local,
|
|
regexp:$config_directory/header_kill
|
|
|
|
transport_maps = hash:$config_directory/transport
|
|
|
|
# Attendre la commande 'RCPT TO' avant d'evaluer les restrictions ?
|
|
# (peut poser pb avec certains clients et permet d'avoir renseignements suppl)
|
|
#par defaut, = yes
|
|
#smtpd_delay_reject =
|
|
|
|
# Definition des plages IP appartenant a mynetworks
|
|
#par defaut, toutes les plages d'adresses IPv4 (et IPv6) des interfaces
|
|
mynetworks = 127.0.0.0/8,[::1]/128,10.0.0.0/16
|
|
|
|
# Exiger la commande HELO/EHLO
|
|
#par defaut, = no
|
|
smtpd_helo_required = yes
|
|
|
|
# Exiger syntaxe conforme dans les commandes MAIL FROM ou RCPT TO
|
|
#par defaut, = no
|
|
strict_rfc821_envelopes = yes
|
|
|
|
# Rejeter le courrier provenant d'une adresse inexistante ?
|
|
#par defaut, = no
|
|
#smtpd_reject_unlisted_sender =
|
|
|
|
# Rejeter le courrier a destination d'une adresse inexistante ?
|
|
#par defaut, = yes
|
|
#smtpd_reject_unlisted_recipient =
|
|
|
|
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
|
|
|
|
#######################
|
|
# Section : Chiffrement
|
|
#######################
|
|
|
|
smtpd_tls_security_level = may
|
|
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
|
|
smtpd_tls_protocols=!SSLv2,!SSLv3
|
|
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
|
|
smtpd_tls_loglevel = 1
|
|
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
|
|
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
|
|
|
|
smtp_tls_security_level = may
|
|
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3
|
|
smtp_tls_protocols=!SSLv2,!SSLv3
|
|
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
|
|
smtp_tls_loglevel = 1
|
|
|
|
# SASL
|
|
smtpd_sasl_auth_enable = yes
|
|
broken_sasl_auth_clients = yes
|
|
smtpd_sasl_type = dovecot
|
|
smtpd_sasl_path = private/auth-client
|
|
|
|
# Amavis and OpenDKIM
|
|
content_filter = smtp-amavis:[127.0.0.1]:10024
|
|
smtpd_milters = inet:[127.0.0.1]:8891
|
|
non_smtpd_milters = inet:[127.0.0.1]:8891
|
|
|
|
{% if postfix_slow_transport_include == True %}
|
|
# Slow transports configuration
|
|
minimal_backoff_time = 2h
|
|
maximal_backoff_time = 6h
|
|
maximal_queue_lifetime = 4d
|
|
queue_run_delay = 100s
|
|
bounce_queue_lifetime = 1d
|
|
initial_destination_concurrency = 5
|
|
default_destination_concurrency_limit = 20
|
|
slow_destination_rate_delay = 0
|
|
slow_destination_concurrency_limit = 1
|
|
slow_destination_concurrency_failed_cohort_limit = 100
|
|
slow_destination_recipient_limit = 25
|
|
transport_maps = hash:$config_directory/transport
|
|
{% endif %}
|