ajout d'une section Plomberie pour expliquer Amavis

This commit is contained in:
Gregory Colpart 2023-07-03 12:38:33 +02:00
parent d5b3ebea6c
commit 5b27dd6764

View file

@ -332,6 +332,52 @@ $ /usr/local/lib/nagios/plugins/check_amavis --server 127.0.0.1 --from monitorin
~~~
## Plomberie
Quand un email arrive, voici son cheminement :
1. il entre avec le protocole SMTP par Postfix (qui écoute sur port 25 ou 465 ou 587) et il renvoyé en LMTP (ou SMTP) à Amavis grâce à l'option `content_filter = smtp-amavis:[127.0.0.1]:10024`
`smtp-amavis` signifie LMTP avec des options particulières grâce à la configuration dans `/etc/postfix/master.cf` :
~~~
smtp-amavis unix - - y - 5 lmtp
-o lmtp_data_done_timeout=1200
-o lmtp_send_xforward_command=yes
~~~
2. Amavis écoute sur le port 10024 :
~~~
tcp 0 0 127.0.0.1:10024 0.0.0.0:* LISTEN 119 1168881997 2664/amavisd-new (m
tcp6 0 0 ::1:10024 :::* LISTEN 119 1168881998 2664/amavisd-new (m
~~~
On peut lui parler en SMTP :
~~~
$ telnet 127.0.0.1 10024
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 [127.0.0.1] ESMTP amavisd-new service ready
~~~
Amavis fait son travail (antivirus, antispam, etc.) puis il réinjecte l'email à Postfix en SMTP qui écoute sur le port 10025
3. Enfin Postfix écoute sur le port 10025 grâce à sa config dans `/etc/postfix/master.cf` :
~~~
127.0.0.1:10025 inet n - y - - smtpd
-o content_filter=
...
~~~
et de nombreuses options qui permettent d'éviter le travail en double (pas de résolution des alias car déjà fait à l'étape 1, pas de milter, pas de content-filter bien sûr sinon ça bouclerait à l'infini, etc.)
Et Postfix va ensuite faire son travail : livrer en local, à l'extérieur, etc.
## FAQ
### Erreur "Can't connect to UNIX socket"