Ceci est une ancienne révision du document !
Table des matières
Interconnexion entre sympa et postfix
Pour rappel on a une architecture avec un relais mail qui gère tout ce qui entre/sort du cluster au niveau du mail. Le sympa est installé sur une machine séparée. Pour éviter la confusion on nommera guest la machine hébergeant le sympa et on nommera relais la machine hébergeant le postfix frontal.
relais -> guest
Pour que le relais transmette les emails au bon guest, il faut installer les bons transports.
- /etc/postfix/conf.d/40-sympa.conf
transport_maps = hash:/etc/postfix/transports/sympa, hash:/etc/postfix/transports/slow_domains, hash:/etc/postfix/transports/sympa-static
Par ailleurs il faut que le relais reconnaisse les transports comme des destinataires valides. Nous avons donc
- /etc/postfix/conf.d/42-recipients.conf
local_recipient_maps = proxy:unix:passwd.byname $alias_maps $transport_maps
Examinons les définitions des transports :
slow_domains
: pour limiter le débit de soumission des courrier à des domaine pauvres comme laposte.net qui n'ont pas les moyens d'encaisser plus de 1 courriel à la fois. Ce n'est pas à proprement parler essentiel à sympa, mais de fait le besoin s'en fait largement sentir lorsqu'un sympa est installé.- /etc/postfix/transports/slow_domains.map
orange.fr slow: laposte.net slow: wanadoo.fr slow: yahoodns.net slow: live.fr slow:
sympa-static
: les adresses de services pour le sympa.- /etc/postfix/transports/sympa-static.map
sympa@chapril.org smtp:[sympa.cluster.chapril.org] sympa-request@chapril.org smtp:[sympa.cluster.chapril.org]
sympa
: c'est là que les choses sont. On verra plus tard sa fabrication.- /etc/postfix/transports/sympa.map
## Généré automatiquement sur sympa.cluster.april.org via incron ## À copier dans mail.cluster.chapril.org:/etc/postfix/transports/ ## List aliases used for the sympa mailing-list manager test@chapril.org smtp:[sympa.cluster.chapril.org] test-request@chapril.org smtp:[sympa.cluster.chapril.org] test-editor@chapril.org smtp:[sympa.cluster.chapril.org] test-unsubscribe@chapril.org smtp:[sympa.cluster.chapril.org] test-owner@chapril.org smtp:[sympa.cluster.chapril.org]
guest -> relais
C'est plus direct car basiquement on applique moins de contrôle. Une conf postfix satellite avec chapril.org en mailname et mail.cluster.chapril.org en relais suffit.
guest -> sympa
Là on retrouve la configuration d'un sympa classique, notamment :
- main.cf
alias_maps = hash:/etc/aliases hash:/etc/aliases.local hash:/etc/mail/sympa/aliases
Notre fichier d'aliases est ainsi fait :
- /etc/mail/sympa/aliases
## List aliases used for the sympa mailing-list manager test: "| /usr/lib/sympa/bin/queue test@chapril.org" test-request: "| /usr/lib/sympa/bin/queue test-request@chapril.org" test-editor: "| /usr/lib/sympa/bin/queue test-editor@chapril.org" #test-subscribe: "| /usr/lib/sympa/bin/queue test-subscribe@chapril.org" test-unsubscribe: "| /usr/lib/sympa/bin/queue test-unsubscribe@chapril.org" test-owner: "| /usr/lib/sympa/bin/bouncequeue test@chapril.org"
et
- /etc/aliases.local
# default contact emails postmaster: listmaster@chapril.org sympa-owner: listmaster@chapril.org sympa-request: listmaster@chapril.org sympa: "| /usr/lib/sympa/bin/queue sympa@chapril.org" listmaster: smtp:[mail.cluster.chapril.org]
Construction du fichier d'aliases sur le guest
En fait sympa fait ça tout seul comme un grand si on lui demande.
- /etc/sympa/sympa/sympa.conf
sendmail_aliases /etc/mail/sympa/aliases alias_manager /usr/lib/sympa/bin/alias_manager.pl
Il est poli et exécute newaliases quand il a fini.
/usr/share/sympa/default/list_aliases.tt2
Maintenant il faut pousser cette conf proprement sur le relais.
Création et installation du fichier d'aliases sur le relais
Pour l'installer :
apt install incron
puis simplement ajouter 'root' dans /etc/incron.allow
.
Sur la machine guest
On va installer le programme suivant :
- /usr/local/bin/alias_push.sh
#!/bin/bash echo '## Généré automatiquement sur sympa.cluster.april.org via incron' > /etc/mail/sympa/sympa.map echo '## À copier dans mail.cluster.chapril.org:/etc/postfix/transports/' >> /etc/mail/sympa/sympa.map awk -F ':' '$1 !~ "#" && $1 !~ "^ *$" {print $1 "@chapril.org\t smtp:[sympa.cluster.chapril.org]"} $1 ~ "#[-#]"{ print $0}' /etc/mail/sympa/aliases | column -t -s $'\t' >> /etc/mail/sympa/sympa.map scp /etc/mail/sympa/sympa.map mail.cluster.chapril.org:/etc/postfix/transports/sympa.map cd /etc git add /etc/mail/sympa/sympa.map /etc/mail/sympa/aliases /etc/mail/sympa/aliases.db git commit -m 'MaJ des alias des listes'
ainsi que la directive incron suivante :
- /etc/incron.d/sympa
/etc/mail/sympa/aliases IN_MODIFY,IN_NO_LOOP /usr/local/bin/alias_push.sh
qu'on va penser à rendre exécutable :
chown a+x /usr/local/bin/alias_push.sh
Puis on redémarre incron :
systemctl restart incron
Sur la machine relais
On va installer le programme suivant :
- cat /usr/local/bin/alias_update.sh
#!/bin/bash cd /etc/postfix && make && postfix reload git add transports/sympa.map transports/sympa.db git commit -m 'MaJ des alias des listes'
ainsi que la directive incron suivante :
- /etc/incron.d/sympa
/etc/postfix/transports/sympa.map IN_MODIFY,IN_NO_LOOP /usr/local/bin/alias_update.sh
Puis on redémarre incron :
systemctl restart incron