Documentation de FormMail.cgi ----------------------------- FormMail version 1.6 Documentation française : Jean-Michel COINUS (28/04/98) Copyright 1996-1997 Matt Wright mattw@worldwidemart.com Créé le 06/09/95 Dernière modification : 05/02/97 Matt's Script Archive, Inc. : http://www.worldwidemart.com/scripts/ FormMail est une passerelle WWW universelle permettant le transfert de formulaires par E-mail. Seule une instruction (appelée "tag") est nécessaire à partir d'un formulaire existant pour que cela fonctionne. Les autres champs de configuration cachés peuvent être utilisés pour étendre les possibilités du formulaire. Cette version 1.6 corrige quelques bogues peu importants. Son code a été optimisé et son utilisation est plus documentée. Cette version apporte essentiellement une nouvelle fonctionnalité qui autorise le tri des champs tels qu'ils apparaissent dans le formulaire. Les pages d'erreurs sont également agrémentées de deux nouveaux champs de configuration. Lisez la liste récapitulative des modifications apportées à FormMail. Configuration du formulaire --------------------------- L'action de votre formulaire nécessite bien entendu de pointer vers ce script. L'on doit utiliser la méthode "GET" ou "POST" (en majuscules). La version 1.5 propose plusieurs nouvelles façons de rédiger votre formulaire pour présenter la page HTML et de traiter le déroulement du script. Ci-après, vous trouverez une liste des champs de formulaire ainsi que leurs syntaxes d'utilisation.
Champs nécessaires ------------------ Seul un champ est nécessaire dans le formulaire pour que FormMail puisse fonctionner : c'est le champ "recipient". Champ : recipient Description : Ce champ permet de définir à qui vous souhaitez transmettre les données du formulaire. Généralement, ce champ sera caché et aura pour valeur votre adresse E-mail. Le domaine doit être un domaine géré par le SIVU des Inforoutes de l'Ardèche. Syntaxe : ----------------------------------------------------------------------------------------------- Champs optionnels ----------------- Champ : subject Description : Ce champ permet de spécifier l'objet du message E-mail (titre du message) qui sera envoyé lorsque le formulaire sera rempli. Si ce champ n'est pas défini, le script renverra par défaut l'objet : "WWW form Submission". Syntaxe : - Si vous souhaitez définir l'objet : - Si vous souhaitez que l'utilisateur spécifie l'objet : ----------------------------------------------------------------------------------------------- Champ : email Description : Ce champ permet à l'utilisateur de définir l'adresse E-mail de retour. Si vous voulez laisser la possibilité à l'utilisateur de définir une adresse E-mail de retour, il est impératif d'inclure ce champ dans le formulaire et qu'il soit rempli. Ce champ apparaîtra dans le message à la place de l'émetteur : "De : ..." ou "From: ...". Si vous souhaitez contrôler la validité et l'obligation de l'adresse E-mail, ajoutez l'instruction "required". Syntaxe : ----------------------------------------------------------------------------------------------- Champ : realname Description : Le champ "realname" permettra à l'utilisateur d'entrer son nom patronymique. Il peut être utile dans un but d'identification et sera inséré dans le message à la place de l'émetteur. Syntaxe : ----------------------------------------------------------------------------------------------- Champ : redirect Description : Une fois le formulaire rempli, vous pouvez diriger l'utilisateur vers une adresse URL spécifique (autre que celle définie par défaut), vous pouvez employer cette variable cachée. Syntaxe : - Pour définir une adresse URL fixe : - Pour permettre à l'utilisateur de définir l'adresse URL : ----------------------------------------------------------------------------------------------- Champ : required Versions : 1.3 & supérieures Description : Vous pouvez désormais rendre obligatoire la saisie de certains champs avant que l'utilisateur puisse envoyer le formulaire. Déclarez simplement les champs devant être remplis. Si des champs n'ont pas été remplis, l'utilisateur en sera informé par une page spécifique. Un lien lui permettra de revenir au formulaire afin qu'il le complête. Pour personnaliser une page d'erreur, reportez-vous au champ "missing_fields_redirect". Syntaxe : - Pour rendre obligatoire, par exemple, la saisie des champs "email" et "tel", utilisez la syntaxe suivante : ----------------------------------------------------------------------------------------------- Champ : env_report Versions : 1.3 & supérieures Description : Ce champ permet d'inclure des variables d'environnement dans les message que vous recevrez. L'on peut alors conna tre le type de navigateur de l'utilisateur, le nom du domaine ainsi que d'autres éléments. REMOTE_HOST - Renvoie le nom du serveur ayant effectué la requête. REMOTE_ADDR - Renvoie l'adresse IP du serveur distant ayant effectué la requête. REMOTE_USER - Si le serveur gère la certification et que le script est protégé, c'est le nom de l'utilisateur qui est authentifié (il n'est habituellement par défini). HTTP_USER_AGENT - Renvoie le type de navigateur de l'utilisateur ayant effectué la requête. Il existe d'autres variables, mais celles-ci sont les plus courantes. Pour plus d'information sur les variables d'environnement, consultez le site : http://www.cgi-resources.com/Documentation/Environment_Variables/ Syntaxe : - Si vous désirez connaître le serveur distant et le type de navigateur ayant effectué la requête, ajoutez le champ suivant : ----------------------------------------------------------------------------------------------- Champ : sort Versions : 1.4 & supérieures Description : Ce champ permet de définir l'ordre dans lequel vous souhaitez voir apparaître les différentes variables qui seront dans le message. Vous pouvez définir un tri alphabétique ou personnalisé. Si ce champ n'est pas défini, l'ordre par défaut est celui des données telles qu'elles le sont dans le formulaire. Pour un tri personnalisé, la variable "value" doit commencer avec le mot "order:", suivi du nom des champs (séparés par une virgule). La version 1.6 offre une meilleure souplesse quant au tri des champs : insertion d'espaces, retours à la ligne, sans que l'ordre en soit affecté. Ceci est trés utile lorsqu'on a de nombreux champs et qu'il devient nécessaire d'insérer des retours à la ligne. Syntaxe : - Pour un tri alphabétique : - Pour un tri personnalisé : ----------------------------------------------------------------------------------------------- Champ : print_config Versions : 1.5 & supérieures Description : "print_config" vous permet de spécifier quelles sont les variables que vous souhaitez voir apparaître dans le message. Par défaut, aucune variable n'apparaît dans le message, et ceci parce que des champs comme l'adresse E-mail, l'objet, ... sont déjà inclus dans l'en-tête. Cependant, certains utilisateurs souhaitent faire paraître ces champs dans le corps du message. Les noms de champs doivent être définis dans la variable "value" et séparés par une virgule. Syntaxe : - Pour faire paraître l'adresse E-mail ainsi que l'objet dans le corps du message, utilisez la syntaxe suivante : ----------------------------------------------------------------------------------------------- Champ : print_blank_fields Version : 1.6 Description : "print_blank_fields" permet d'afficher dans le message la totalité des champs, y compris ceux vides. Par défaut, seuls les champs remplis apparaissent dans le message. Syntaxe : - Pour faire paraître la totalité des champs : ----------------------------------------------------------------------------------------------- Champ : title Versions : 1.3 & supérieures Description : Ce champ permet de définir le titre et l'en-tête qui doivent apparaître sur la page de validation du formulaire, lorsqu'il n'y a pas d'adresse URL spécifiée. Syntaxe : - Si vous souhaitez voir apparaître le titre "Validation du formulaire" : ----------------------------------------------------------------------------------------------- Champ : return_link_url Versions : 1.3 & supérieures Description : Ce champ permet de spécifier l'adresse URL qui doit apparaître comme lien de retour sur la page de validation du formulaire. Ce champ ne sera pas utilisé si "redirect" a été défini, mais peut être utile à l'utilisateur. Dans ce cas, l'utilisateur verra la page de validation du formulaire et pourra, à partir de celle-ci, revenir à votre page principale. Syntaxe : ----------------------------------------------------------------------------------------------- Champ : return_link_title Versions : 1.3 & supérieures Description : C'est le l'intitulé du lien permettant à l'utilisateur de retourner à la page spécifiée par "return_link_url". Les deux champs seront affichés sur la page de validation de la façon suivante : Syntaxe : ----------------------------------------------------------------------------------------------- Champ : missing_fields_redirect Version : 1.6 Description : Ce champ permet de spécifier l'adresse URL de la page d'erreur lorsqu'un utilisateur n'a pas rempli certains champs définis comme obligatoires. Vous pouvez donc personnaliser cette page au lieu d'avoir celle par défaut. Syntaxe : ----------------------------------------------------------------------------------------------- Champ : background Versions : 1.3 & supérieures Description : Ce champ permet de spécifier l'image de fond qui apparaîtra sur la page de validation du formulaire, lorsque "redirect" n'est pas défini. Syntaxe : ----------------------------------------------------------------------------------------------- Champ : bgcolor Versions : 1.3 & supérieures Description : Ce champ permet de spécifier la couleur de fond de la page de validation du formulaire. Ce champ n'est pas nécessaire si "background" a été défini. Syntaxe : - Pour un fond blanc : ----------------------------------------------------------------------------------------------- Champ : text_color Versions : 1.3 & supérieures Description : Ce champ permet de spécifier la couleur du texte de la page de validation du formulaire. Syntaxe : - Pour un texte noir : ----------------------------------------------------------------------------------------------- Champ : link_color Versions : 1.3 & supérieures Description : Ce champ permet de spécifier la couleur des liens de la page de validation du formulaire, lorsque "redirect" n'est pas défini. Syntaxe : - Pour une couleur bleue : ----------------------------------------------------------------------------------------------- Champ : vlink_color Versions : 1.3 & supérieures Description : Ce champ permet de spécifier la couleur des liens visités de la page de validation du formulaire, lorsque "redirect" n'est pas défini. Syntaxe : - Pour une couleur rouge : ----------------------------------------------------------------------------------------------- Champ : alink_color Versions : 1.4 & supérieures Description : Ce champ permet de spécifier la couleur des liens actifs de la page de validation du formulaire, lorsque "redirect" n'est pas défini. Syntaxe : - Pour une couleur magenta : ----------------------------------------------------------------------------------------------- N'importe quel autre champ apparaissant dans votre script vous sera donc envoyé par E-mail et affiché sur la page de validation du formulaire si "redirect" n'est pas défini. Il n'y a pas de limitations quant à l'utilisation des différents champs ormis celles imposées par les navigateurs et votre serveur. ----------------------------------------------------------------------------------------------- Voici quelques utilisations possibles avec ce script : 1) Vous souhaitez créer un formulaire qui vous sera transmis par E-mail, mais vous ne savez pas écrire de script CGI. 2) Vous êtes gestionnaire d'un site et vous souhaitez que les utilisateurs puissent créer des formulaires ; mais vous ne souhaitez pas qu'ils aient leurs propres répertoires cgi-bin, ceci pouvant être préjudiciable à la sécurité de votre système. Vous pouvez alors leur attribuer ce script librement. 3) N'avoir qu'un seul script pour tous les formulaires qui vous seront expédiés.