Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 24 Jul 2006 18:10:36

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Configuration Exim 4.52

Salut,

Je n'arrive pas à configurer Exim pour qu'il execute un script php à chaque fois que je recois un "Mail delivery failed: returning message to sender".

En fait, je voudrais enlever de ma base MySQL tous les emails des utilisateurs qui ont fourni des adresses emails n'existant plus et qui me reviennent dans la tête smile qd j'envois une newsletter...

Est ce que quelqu'un à essayer de le faire ?
Peux t il m'aider à comprendre comment faire ?

Cordialement
Michalski Luc

Hors ligne

 

#2 24 Jul 2006 19:53:32

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: Configuration Exim 4.52

Hello,

  Je vois deux solutions comme ca:

1) (j'assume Exim 4): ajouter un routeur qui envoie les messages invalides a un transport pipe si l'adresse de l'expéditeur correspond à ton application web: ajouter en dernier dans la section des routeurs exim (je mets ça comme ça mais j'ai pas testé):

Code:

invalid_from_local:
  driver = accept
  condition = ${if eq {$sender_address}{expediteur_local@domaine}}
  transport = prune_recipient

et, dans la section des transports:

Code:

prune_recipient:
  driver = pipe
  command = /usr/local/bin/prune.pl

enfin, le script /usr/local/bin/prune.pl (+xr pour l'utilisateur exim si mot de passe de la DB en clair dedans):

Code:

#!/usr/bin/perl

my $invalid_address = $ENV{RECIPIENT};

## Connection à mysql et destruction de l'adresse $invalid_address

exit 1;

Sinon, solution 2: écouter les messages d'exim a travers le syslog
- plus ou moins facile en fonction du syslog utilisé (metalog: piece of cake, les autres un peu plus chiant)
- plus facile à débugger que d'aller fouiller dans les tripes d'Exim
- dangereux si le format des logs n'est pas soigneusement vérifié: un utilisateur local risque de pouvoir détruire des adresses arbitraires en générant ses propres messages syslog

Hope this helps

++

Hors ligne

 

#3 24 Jul 2006 20:20:53

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Re: Configuration Exim 4.52

Salut,

Est ce que je peux enclencher un fichier PHP directement et récupérer des valeurs avec les fonctions : $argv[x] ou getenv()

Je vais essayer de tester mais il me faut encore quelques jours pour m'habituer pleinement à exim...  8-)

Et merci ! smile

Cordialement
Michalski Luc

Hors ligne

 

#4 04 Sep 2006 14:58:15

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Re: Configuration Exim 4.52

Salut,

Je rencontre un nouveau petit problème... :?

J'ai 4 bases de données et je voudrais mettre un marqueur dans le header des emails que j'envois afin de savoir à quel base de données correspond l'adresse email invalide...

Auriez vous une idée ?

Cordialement
Michalski Luc

Hors ligne

 

#5 05 Sep 2006 22:27:06

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Re: Configuration Exim 4.52

Salut,

Personne ne sait comment je pourrais place un indice de l entete des emails que j'envois et le récuperer en cas d echec ( car l adresse email n existant pas ) pour la désactiver de la base de données correspondant à cette utilisateur...  :cry:

Cordialement
Luc Michalski

Hors ligne

 

#6 06 Sep 2006 02:06:26

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Re: Configuration Exim 4.52

Re,

C'est bon je crois que j ai compris globalement

Mais the last question is ; "expediteur_local@domaine" ca correspond à quoi cette adresse ?

Cordialement
Luc Michalski

Hors ligne

 

Pied de page des forums

Powered by FluxBB