# Analyseur d'e-mail pour posfix

**URL:** <https://www.debian-fr.org/t/analyseur-de-mail-pour-posfix/77549>\
**Category:** Programmation\
**Created:** [Septembre 16, 2018, 10:23 UTC](https://www.debian-fr.org/t/analyseur-de-mail-pour-posfix/77549 "2018-09-16T10:23:05Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Septembre 16, 2018, 10:23 UTC](https://www.debian-fr.org/t/analyseur-de-mail-pour-posfix/77549/1 "2018-09-16T10:23:06Z")

</div>

Bonjour,

J’ai un serveur d’e-mail que j’ai un peu envie de bidouiller. Je souhaiterai faire un programme qui reçoive les e-mails en clair, tels que reçus par Postfix, fasse une analyse dessus afin de demander à Postfix de refuser l’e-mail avec un message spécifique (ou de l’accepter si tout va bien).  
Je saurais faire le programme par moi-même (et l’adapter selon la méthode et le format de communication de Postfix), mais je ne vois pas comment l’intégrer dans Postfix.

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Septembre 16, 2018, 11:28 UTC](https://www.debian-fr.org/t/analyseur-de-mail-pour-posfix/77549/2 "2018-09-16T11:28:47Z")

</div>

C’est un sacré projet dans lequel tu te lance j’ai l’ipression.

Regarde de ce côté là pour un début, tu pourra alors remplacer la partie SpamAssassin par ton script d’analyse :

[https://wiki.apache.org/spamassassin/IntegratedSpamdInPostfix](https://wiki.apache.org/spamassassin/IntegratedSpamdInPostfix)

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Septembre 16, 2018, 11:48 UTC](https://www.debian-fr.org/t/analyseur-de-mail-pour-posfix/77549/3 "2018-09-16T11:48:22Z")

</div>

> [@Clochette](#):
>
> [IntegratedSpamdInPostfix - SPAMASSASSIN - Apache Software Foundation](https://wiki.apache.org/spamassassin/IntegratedSpamdInPostfix)

Oui, j’ai déjà vu ça, mais cette méthode ne semble pas permettre le rejet de message, seulement son analyse complète, voire sa modification. Mon but n’est pas de modifier le message, mais de le rejetter s’il ne convient pas. Et, de plus, le rejetter avec un message d’erreur à afficher en retour à l’expéditeur via Postfix (comme le ferait l’analyseur SPF ou le postgrey).

---

<div class="post-metadata">

**Author:** ![PengouinPdt](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pengouinpdt/32/3978_2.png) [@PengouinPdt](https://www.debian-fr.org/u/PengouinPdt)\
**Post date:** [Septembre 16, 2018, 8:53 UTC](https://www.debian-fr.org/t/analyseur-de-mail-pour-posfix/77549/4 "2018-09-16T20:53:45Z")

</div>

> [@Almtesh](#):
>
> comme le ferait l’analyseur SPF

Je sais bien que ça ne répondra pas à ta demande… mais ça me fait penser à un de mes projets :

> **[DenyLabels / DenyLabel - SPF2 · GitLab](https://framagit.org/DenyLabels/SPF2)**
>
> DenyLabel :: SPF2 (Sender Policy Framework for Firewalling) : create a single list SPF to inject domains, and adresses IP into firewall

Mais, bon, on est très loin de ton contexte 😉  
_(joli squattage… hihihihihihi)_

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Septembre 18, 2018, 6:51 UTC](https://www.debian-fr.org/t/analyseur-de-mail-pour-posfix/77549/5 "2018-09-18T06:51:34Z")

</div>

> [@Almtesh](#):
>
> comme le ferait l’analyseur SPF ou le postgrey

Si je regarde comment se configure postgrey [ici](https://www.system-linux.eu/index.php?post/2010/03/31/postgrey-liste-pour-Postfix), ça se branche sur postfix par un socket déclaré par check\_policy\_service dans le main.cf  
Il faudrait creuser, mais j’imagine que le script à l’autre bout du socket doit répondre vrai ou faux suivant qu’il faut laisser passer le mail ou pas.  
Je creuserais de ce coté là.

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Septembre 18, 2018, 9:45 UTC](https://www.debian-fr.org/t/analyseur-de-mail-pour-posfix/77549/6 "2018-09-18T09:45:10Z")

</div>

> [@mattotop](#):
>
> Il faudrait creuser, mais j’imagine que le script à l’autre bout du socket doit répondre vrai ou faux suivant qu’il faut laisser passer le mail ou pas.

Effectivement, c’est l’autre moitié (envoyer un message d’erreur en cas de refus), mais postfix n’envoie pas l’e-mail tel qu’il l’a reçu, mais à l’aide de champs définis. Mon but est d’analyser l’e-mail en entier.

---

<div class="post-metadata">

**Author:** ![PengouinPdt](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pengouinpdt/32/3978_2.png) [@PengouinPdt](https://www.debian-fr.org/u/PengouinPdt)\
**Post date:** [Septembre 18, 2018, 10:42 UTC](https://www.debian-fr.org/t/analyseur-de-mail-pour-posfix/77549/7 "2018-09-18T10:42:42Z")

</div>

Si je comprends bien ton propos, c’est une sorte de plugin à Postfix que tu veux créer ?!

Et, parmi les [projets existants](http://www.postfix.org/addon.html), il n’y en aurait pas un qui serait + ou - similaire ?!

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Septembre 19, 2018, 12:57 UTC](https://www.debian-fr.org/t/analyseur-de-mail-pour-posfix/77549/8 "2018-09-19T12:57:00Z")

</div>

Peut-être [ça](https://github.com/MiroslavHoudek/postfix-filter-loop), mais je ne suis pas sûr de comprendre. Je vais jetter un œil…

---

<div class="post-metadata">

**Author:** ![PengouinPdt](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pengouinpdt/32/3978_2.png) [@PengouinPdt](https://www.debian-fr.org/u/PengouinPdt)\
**Post date:** [Septembre 19, 2018, 6:49 UTC](https://www.debian-fr.org/t/analyseur-de-mail-pour-posfix/77549/9 "2018-09-19T18:49:59Z")

</div>

En tout cas, c’est le sentiment que cela me donne selon ce qu’il écrit :

> This is because what I needed is that mails come to my Python code BEFORE processed using virtual table and they get processed using virtual table AFTER

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Septembre 21, 2018, 11:41 UTC](https://www.debian-fr.org/t/analyseur-de-mail-pour-posfix/77549/10 "2018-09-21T11:41:00Z")

</div>

Ah, je crois que je comprend comment fonctionne ce truc : en fait, il récupère les e-mails renvoyés par le serveur, il les analyse et s’ils doivent être délivrés, les renvoie au postfix. D’où le mot « loop » dans le nom du programme.
