Accéder au contenu.
Menu Sympa

fr - transformation du email

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: adresse@cachée
  • To: adresse@cachée
  • Subject: transformation du email
  • Date: Wed, 23 Apr 2003 20:14:07 +0200

Bonjour,

J'utilise sympa 3.4.2 et je cherche le meilleur moyen pour réaliser ce qui
suit.

Je désire faire une vérification/transformation systématique sur toutes les
adresses email entrées dans le système. Le domaine de mon sympa est uqtr.ca
. Donc, en tant qu'usager, mon adresse de courriel est
adresse@cachée . Par contre, mon login de courriel est cossetpa
et mon sendmail reconnaît également l'adresse adresse@cachée (c'est un
genre d'alias). Je possède une base de données BerkeleyDB qui fait la
correspondance entre la vraie adresse et le login, de sorte que peu importe
si j'entre mon login ou ma vraie adresse, je suis en mesure de retourner à
sympa la vraie adresse. Je ne veux pas travailler avec les adresses
alternatives, je veux vraiment qu'une seule adresse soit inscrite dans la
base de données de sympa.

Si je m'abonne avec l'adresse adresse@cachée , je veux que sympa m'abonne
en fait avec ma vraie adresse qui est adresse@cachée . J'ai écris
le code nécessaire pour faire cette transformation (une recherche dans la
base de données BerkeleyDB) mais je ne sais pas où serait le meilleur moyen
pour inclure mon code de telle sorte que TOUTE adresse email soit
transformée, que ce soit lors du login d'un usager dans wwsympa, lors d'un
ajout d'usager, lors d'un delete d'usager, lors de la vérification par des
scénarios,... J'ai pensé inclure mon bout de code dans la fonction
clean_email de tools.pm de la façon suivante:

sub clean_email {
my $email = shift;

# MON CODE ### appel à une fonction qui retourne la vraie adresse email
# MON CODE $email=&recherche_dans_bd($email);

## Lower-case
$email = lc($email);

## remove leading and trailing spaces
$email =~ s/^\s*//;
$email =~ s/\s*$//;

return $email;
}

La fonction clean_email semble être appelée dans la majorité des cas, par
exemple par les fonctions get_user_db, add_user et delete_user. Toutefois,
la fonction am_i ne contient pas l'appel à clean_email, ce qui me fait
m'interroger à savoir s'il n'y aurait pas un meilleur endroit pour inclure
mon code.

Est-ce possible de réaliser cela en ne modifiant le code de smypa qu'à un ou
2 endroits, ou je devrai analyser tous les cas un par un et ajouter mon code
à plusieurs endroits différents? Je cherche bien sûr à ce que TOUTES les
opérations de sympa reflètent cette double-identité possible et ce de manière
la plus robuste.

Merci de votre aide!


Patrick Cossette




Archives gérées par MHonArc 2.6.19+.

Haut de le page