Pages : 1
#1 Le 21/10/2023, à 20:57
- dodo.deejay
Besoin d'aide pour intégrer un script à Postfix.
Bonjour,
J'ai créé un script Perl :
#!/usr/bin/perl
use strict;
use warnings;
# Lire le message depuis l'entrée standard
my $message = "";
while (<STDIN>) {
$message .= $_;
}
# Extraire l'adresse de l'expéditeur et du destinataire
my $expediteur = "";
my $destinataire = "";
# Analyser les en-têtes de l'e-mail
if ($message =~ /From:\s*(.+)$/m) {
$expediteur = $1;
}
if ($message =~ /To:\s*(.+)$/m) {
$destinataire = $1;
}
# Vérifier si le mot "SPAM" est présent dans l'objet
if ($message =~ /Subject:.*SPAM/i) {
# Ajouter les liens adaptés au début du message
my $lien_whitelist = "https://aaaa.aa/?e=$expediteur&d=$destinataire&l=whitelist";
my $lien_black = "https://aaaa.aa/?e=$expediteur&d=$destinataire&l=black";
my $lien_gestion = "https://aaaa.aa/?e=$expediteur&d=$destinataire&l=gestion";
# Stocker le contenu existant du message
my $contenu_existant = $message;
# Créer le nouveau message en insérant les liens au début
$message = "$lien_whitelist\n$lien_black\n$lien_gestion\n$contenu_existant";
}
# Imprimer le message modifié
print $message;
Cela me permet : s'il y a du SPAM dans l'objet, d'ajouter 3 liens dans le corps du mail.
Cependant, je n'arrive pas à l'intégrer à Postfix.
Savez-vous comment je peux exécuter ce script pour tous les e-mails entrants ? J'utilise Dovecot et `virtual_transport = lmtp:unix:private/dovecot-lmtp` pour la livraison des e-mails.
Votre aide serait grandement appréciée.
Cordialement,
Hors ligne
#2 Le 21/10/2023, à 23:47
- dodo.deejay
Re : Besoin d'aide pour intégrer un script à Postfix.
Pour info dans les logs j'ai :
Oct 22 00:38:53 ad-info31 postfix/pipe[331393]: C76431C0C56: to=<contact@rrrr.fr>, relay=spam_filter, delay=0.28, delays=0.26/0.01/0/0.01, dsn=2.0.0, status=sent (delivered via spam_filter service (Return-Path: <sav@aa.aa> Received: from protect-fuglu-smtp4.alinto.net (protect-fuglu-smtp4-bis.al))
Oct 22 00:38:53 ad-info31 postfix/qmgr[331375]: C76431C0C56: removed
spam_filter accepte bien mon mail et traite bien le mail. Mais après plus rien, il ne continue pas le chemin vers dovecot.
Il doit me manquer une chose dans le master.cf.
transport_maps = hash:/etc/postfix/transport
Dans le fichier transport :
* spam_filter:
et dans le master.cf
spam_filter unix - n n - 10 pipe
flags=Rq user=nobody argv=/etc/postfix/lien.pl
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o content_filter=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o smtpd_restriction_classes=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
-o local_header_rewrite_clients=
Merci
Hors ligne
#3 Le 22/10/2023, à 06:43
- bruno
Re : Besoin d'aide pour intégrer un script à Postfix.
Bonjour,
Il manque sûrement des éléments de configuration. Là je ne vois pas comment cela pourrait fonctionner. En particulier je ne vois rien qui réinjecte le courriel traité vers son destinataire…
Une lecture attentive de la doc devrait aider. Attention à ce type de configuration qui peut éventuellement bloquer le serveur d'envoi.
#4 Le 22/10/2023, à 08:10
- dodo.deejay
Re : Besoin d'aide pour intégrer un script à Postfix.
Bonjour Bruno,
Auriez-vous la possibilité de me guider pour réinjecter le mail traité ?
Pour information, j'utilise : virtual_transport = lmtp:unix:private/dovecot-lmtp
Merci à vous.
Hors ligne
#5 Le 22/10/2023, à 09:48
- bruno
Re : Besoin d'aide pour intégrer un script à Postfix.
Est-ce que tu as lu la doc que j'ai indiquée ? Normalement cela aurait dû répondre à ta question.
Pages : 1