#noms de domaines de courriers qu'on s'autorise à transmettre, séparés par des virgules (example.com, example2.com, example3.com)
ENV RELAY_DOMAINS picasoft.net
#serveur LDAP
ENV LDAP_SERVER ldap.test.picasoft.net
#postfix: search_base pour l'existence d'adresses @picasoft.net
ENV LDAP_POSTFIX_SEARCH_BASE dc=picasoft,dc=net
#serveur MDA/LDA sous la forme d'un serveur LMTP : donner l'adresse et le port du conteneur avec pica-mail-mda
#SASL et binds (LDAP)
#serveur LDAP utilisé pour l'authentification LDAP
#attention, des informations sensibles (hashs de mots de passe) seront envoyées, il faut que le canal soit sécurisé (utiliser LDAPS au lieu de LDAP, ou encore STARTTLS sur LDAP)
#protocole : on pourrait utiliser LDAPS au lieu de LDAP
ENV LDAP_PROTOCOL ldap
ENV LDAP_SERVER_HOSTNAME ldap.test.picasoft.net
ENV LDAP_PORT 389
#compte utilisé par les démons saslauthd et virtual_mailbox pour lire l'arborescence LDAP
ENV LDAP_BIND_DN cn=nss,dc=picasoft,dc=net
ENV LDAP_BIND_PW rdonly
#niveau de l'arborescence à partir de laquelle les entrées sont considérées
ENV LDAP_SEARCH_BASE dc=picasoft,dc=net
#filtre sur les entrées demandées par saslauthd. %u sera substitué par le login entré par l'utilisateur
ENV LDAP_SASL_FILTER cn=%u
#filtre sur les entrées demandées par virtual_mailbox. %s sera substitué par la partie gauche de l'adresse mail.
ENV LDAP_VIRTUAL_MAILBOX_FILTER uid=%s
#Local Delivery (LMTP)
#adresse et port du LDA (dans notre cas, c'est le MDA Dovecot, embarqué dans un conteneur, et accessible à travers un docker network)
#préfixe pour éviter que des mails buggués atterissent n'importe où dans le système de fichiers (c'est une sécurité mais c'est pas ça qui fait que ça marche)
postconf -e"virtual_mailbox_maps = "
#en dessous de ce degré de "vérité", les boîtes non trouvées en table sont rejetées. (100 correspond à un "vrai" simple, mais il est possible de définir différents degrés d'appartenance à la table des utilisateurs dans des configurations plus complexes: une boîte pourrait par exemple avoir le bon nom de domaine mais pas le bon nom d'utilisateur)
#en dessous de ce degré de "vérité", les boîtes non trouvées en table sont rejetées. (100 correspond à un "vrai" simple, mais il est possible de définir différents degrés d'appartenance à la table des utilisateurs dans des configurations plus complexes: une boîte pourrait par exemple avoir le bon nom de domaine mais pas le bon nom d'utilisateur, mais ne pas être rejetée;)
postconf -e"virtual_minimum_uid = 100"
#on fait confiance à l'hôte local, utile pour faire du debug
postconf -e"mynetworks = 127.0.0.0/8"
#restrictions sur les destinataires
#les personnes authentifiées peuvent envoyer des mails à tout le monde, les personnes non authentifiées peuvent envoyer des mails seulement aux destinations connues donc des destinataires en @picasoft.net
#on rejette si le destinataire n'a pas de MX ni de A et n'est pas nous-même
#l'ordre permit_sasl_authenticated, reject_unauth_destination est important: si on est authentifié on fait ce qu'on veut, si on n'est pas authentifié on ne peut qu'envoyer aux destinations connues
#on interdit les domaines locaux comme monpc, et les courriels qui ne précisent pas tous les domaines (que l'expéditeur ou que le destinataire par exemple)
#spamhaus est une entreprise à but non lucratif qui fournit des RBL (liste de spammeurs notoires)
#on est certain que le prochain démarrage se fera avec logs (normalement on rattrape le retard des derniers démarrages sans logs car rsyslog était déjà installé et configuré pour en récupérer, mais il ne les a pas encore écrits)
service rsyslog start
service postfix start
#démarrage premier plan
if["$1"!=true];then
#if [ "$1" != true ]; then
# service postfix stop
# tail -F /var/log/mail.log
#fi
if["$1"==true];then
service postfix stop
tail-F /var/log/mail.log
echo"Il n'est plus possible d'utiliser les conteneurs de test avec cette version de pica-mail-mta, on a déporté toute la config dans pica-mail-mta" 1>&2