Mise en oeuvre de lform

Auteur : Etienne Herlent (eherlent@linux-france.org)

Date de dernière modification : 15/8/03
Ce document décrit comment utiliser le formulaire de mail de Linux-france.org. L'utilisation est illustrée au moyen d'un exemple réel.

1. Description.

Le formulaire de mail de Linux-france.org (lform) est un ensemble de scripts PHP paramétrables permettant aux visiteurs de wlfo d'envoyer facilement des messages électroniques aux contributeurs de wlfo.

L'objectif secondaire est de faire diminuer le nombre de spams et de virus que les contributeurs de wlfo ne cessent de recevoir dans leurs boîtes aux lettres. En effet, les balises "mailto:", contenant une adresse email, présentes dans les documents HTML, exploitées par les spammeurs et les virus à la mode, seront avantageusement remplacées par des liens vers le formulaire de mail qui ne contient aucune adresse email en clair.

On trouvera une mise en oeuvre à < http://www.linux-france.org/macintosh/mail/> et une autre bien plus sexy accessible depuis le jargon français < http://www.linux-france.org/prj/jargonf/>.

2. Installation.

Les scripts PHP et fichiers de paramétrages sont dans le tarball lform-0.1.2.tar.bz2 qui se trouve à < http://www.linux-france.org/prj/lform/>.

Les fichiers contenus dans le packages sont :

mail/formulaire.php 
mail/index.html 
mail/mail-basdepage.txt 
mail/mail-entete.txt 
mail/mail.php

Il est conseillé de décompacter le tarball au premier niveau de l'arborescence de fichiers qui est transférée sur wlfo par rsync (voir à ce sujet le paragraphe "9. Comment bien vous organiser" du document < http://www.linux-france.org/prj/lfoyer/doc/htm/qui_fait_quoi.fr.htm> , par la commande suivante :

bzip2 -cd lform-0.1.2.tar.bz2 | tar xf -

Le répertoire mail est créé et contient tous les fichiers nécessaires et qu'il faudra adapter.

On vérifiera que les fichiers mail/formulaire.php et mail/mail.php sont exécutables pour tout le monde.

Merci de modifier le fichier mail/index.html en remplaçant mon adresse email par la votre...

3. Adaptation des fichiers.

L'adaptation est en fait optionnelle.

Les seuls fichiers à adapter sont les fichiers mail-entete.txt, mail-basdepage.txt et mail.php.

3.1 Entête et bas de page.

Les fichiers mail-entete.txt et mail-basdepage.txt contiennent du code HTML qui est inséré au début et à la fin du formulaire, respectivement. Il est conseillé de ne mettre que du code HTML "passif" pour qu'il n'y ait pas d'interférence dans le fonctionnement du formulaire.

3.2 Sujet du message.

Le sujet du message est préfixé par la balise [WLFO]. Vous pouvez modifier cela à la ligne 73 du fichier mail.php.

Cette ligne est la suivante :

mail ($dest,"[WLFO]"." ".$HTTP_GET_VARS["sujet"],$texte,$extra);

Si, par exemple, vous voulez retirer la balise, le code devient :

mail ($dest,$HTTP_GET_VARS["sujet"],$texte,$extra);

3.3 Texte du message.

Le fichier mail.php est le script qui envoie le message. Le texte du message est préfixé par (lignes 60 à 63):

$texte="Ce mail a été automatiquement généré par le formulaire ";
$texte = $texte."de mail de linux-france.org\r\n";
$texte = $texte."depuis l'url ".$HTTP_GET_VARS["url"]."\r\n";
$texte = $texte."Envoyé par ".$HTTP_GET_VARS["emetteur"].".\r\n";

Vous pouvez modifier ce texte. Je vous conseille cependant de laisser "$HTTP_GET_VARS["emetteur"]" car cela représente le champ de saisie dans lequel votre correspondant est censé indiquer son nom.

Note :

en PHP, $texte = "chose" est l'affectation de la variable $texte par la chaîne de caractères "chose", et $texte = $texte."truc" concatène la chaîne "truc" à ce qu'il y a déjà dans la variable $texte.

4. Mise en oeuvre.

C'est maintenant le travail le plus rébarbatif puisqu'il consiste à remplacer les balises HTML <A HREF="mailto:...">...</A> par des liens hypertext vers mail/formulaire.php dans tous vos documents HTML.

Quand j'en aurai le temps, je fournirai un script en Perl pour faire cette modification automatiquement.

Un bon exemple valant mieuxqu'un long discours, le code HTML suivant :

<H2>Pour envoyer un mail au webmaster, <a href="mailto:dieu@petitmou.biz">cliquez ici</a>.</H2>

sera remplacé par :

<H2>Pour envoyer un mail au webmaster, <a href="../mail/formulaire.php?dest1=dieu&dest2=petitmou.biz&url=mail/index.html">cliquez ici</a>.</H2>

Quelques remarques :

5. Remarques techniques.

Les messages sont effectivement envoyés par le script mail.php.

Les messages émis par PHP ont un Message-ID en @tuxinette.linux-france.org.

Les champs d'entêtes suivants seront présents dans les mails que vous recevrez :

X-Mailer: wlfo-mail-form

Le champ X-Mailer: permet d'identifier le logiciel qui envoie le mail. J'utilise ce critère dans mes filtres anti-spam pour laisser passer tous les messages émis par le formulaire de mail de wlfo.

Mime-Version: 1.0 , Content-Type: text/plain; charset=iso-8859-1 , Content-Transfert-Encoding: 8bit

Ces trois champs servent à indiquer l'encodage du message envoyé. Ils sont utilisés par votre client de mail pour afficher correctement le message reçu. En leur absence, Eudora pour MacOS X ne reconnaissait pas l'ISO-8859-1 et les caractères accentués de la langue de Desproges étaient bizarrement affichés.

6. Remerciements.

Un grand merci à Olivier Péningault qui a initialisé le travail en réalisant la première version de mail.php.