contenu de la page

Y-a-t'il un CGI commun pour envoyer des questionnaires par e-mail?

Nous avons installé une copie de FormMail que vous pouvez utiliser même sans connaître comment écrire des programmes CGI. FormMail est un petit script CGI qui permet d'envoyer les résultats de vos formulaires par e-mail. Il suffit pour cela de configurer votre formulaire au sein de votre page web pour qu'il envoie son résultat à ce script, via l'attribut HTML action.

Si vous voulez accéder à cette fonction, vous devrez nous envoyer les domaines pour lesquels vous voulez l'utiliser. Nous avons besoin des deux noms de domaine : le domaine du site web qui utilise FormMail et le domaine du destinataire e-mail s'il est différent. En fait, nous devrons inclure cette information dans le script du FormMail pour empêcher les spammers d'abuser de ce programme.

Vous pouvez trouver le manuel complet de FormMail (en anglais) ici :

http://worldwidemart.com/scripts/readme/formmail.shtml

L'installation de FormMail d'all2all se trouve ici (adresse à utiliser dans vos formulaires) :

http://www.all2all.org/cgi-bin/FormMail.pl

Voici les éléments les plus importants de la documentation officielle de FormMail traduits en français :

Aperçu

FormMail est une passerelle universelle (script cgi) d'un formulaire (HTML form) www vers l'e-mail. Il faut seulement spécifier une seule variable pour faire fonctionner vos formulaires existants avec ce script. D'autres champs de configuration cachés (champs "input type=hidden") peuvent aussi être utilisés pour améliorer le fonctionnement de FormMail sur votre site.

Configuration du formulaire

Pour activer vos formulaires (section "form" dans votre page HTML) vous devez les faire pointer en direction de ce script. Pour cela la méthode (attribut "method") doit utiliser POST ou GET en lettres capitales comme valeur. La version 1.5 de FormMail offre de nombreuses nouvelles manières d'encoder vos formulaires pour configurer précisément la page HTML que vous désirez et la manière dont le script fonctionne. Vous trouverez ci-dessous une liste avec les champs du formulaire que vous pouvez utiliser et la manière d'en faire usage.

Exemple :

<form action="http://www.all2all.org/cgi-bin/FormMail.pl" method=post enctype="text/plain">
... autres éléments de votre formulaire comme les champs texte, menus déroulants, bouttons etc. ...
</form>

Note: Si vous recevrez l'erreur "Bad header fields", même si tout semble d'être en ordre, vous pouvez essayer de sauter la partie enctype="text/plain".

Le champ du formulaire nécessaire

Il y a un seul champ que vous devez absolument avoir dans votre formulaire pour que FormMail fonctionne correctement. C'est le champ destinataire : champs "recipient".

Champ : recipient
Description:
Ce champ vous permet de spécifier à qui vous désirez que le résultat du formulaire soit envoyé. Il est fort probable que vous vouliez configurer cette option en tant que champ caché ("hidden") en y indiquant votre propre adresse e-mail. Depuis la version 1.8, vous pouvez y inclure de multiples destinataires en séparant les différentes adresses e-mail par une virgule.

Syntaxe :

<input type=hidden name="recipient" value="votrenom@votrenomdedomaine.be">
ou
<input type=hidden name="recipient" value="votrenom1@votrenomdedomaine.be,votrenom2@votrenomdedomaine.be,autrenom@autrenomdedomaine.be">

Les autres champs optionnels du formulaire

Champ : subject
Description :
Le champ "subject" vous permettra de spécifier le sujet que vous voulez voir apparaître dans l'e-mail qui vous est envoyé lorsque le formulaire a été rempli. Si vous n'avez pas activé cette option le sujet envoyé par défaut par le script sera : WWW Form Submission.

Syntaxe : Si vous voulez mentionner un sujet :

<input type=hidden name="subject" value="Votre Sujet">
Pour permettre à l'utilisateur de choisir le sujet :
<input type=text name="subject">

Champ : email
Description :
Ce champ permet à l'utilisateur de spécifier une adresse e-mail de retour. Si vous voulez être capable de renvoyer un e-mail à l'utilisateur, nous vous conseillons fortement d'inclure ce champ à remplir dans le formulaire. Ceci sera inséré dans le formulaire : champ du message que vous avez reçu. Si vous voulez demander une adresse e-mail avec une syntaxe valide, ajoutez ce nom de champ dans le formulaire.

Syntaxe :

<input type=text name="email">

Champ : realname
Description :
Le champ "realname" va permettre à l'utilisateur d'inscrire son nom réel. Ceci est utile pour l'identification et sera aussi inséré dans le formulaire sous la forme d'une ligne dans l'entête du message.

Syntaxe :

<input type=text name="realname">

Champ : redirect
Description :
Si vous voulez rediriger les utilisateurs vers une URL différente plutôt que de leur proposer la réponse par défaut lorsque le formulaire est rempli, vous pouvez employer cette variable cachée pour les diriger vers une page HTML préétablie.

Syntaxe :
Pour choisir l'URL sur laquelle ils aboutiront :

<input type=hidden name="redirect" value="http://votrenomdedomaine.be/redirectionvers/file.html">

Pour leur permettre de spécifier l'URL d'une page sur laquelle ils souhaitent se rendre lorsqu'ils auront rempli le formulaire :

<input type=text name="redirect">

Champs : required
Version : 1.3 et au-delà

Description :
Vous pouvez déterminer certains champs à remplir de manière obligatoire pour que l'utilisateur puisse compléter le formulaire et le renvoyer avec succès. Placez simplement tous les noms de champs obligatoires dans ce champ particulier.
Si le champ demandé n'est pas rempli, l'utilisateur sera averti de ce qu'il doit encore remplir et un retour vers le formulaire qu'il vient de terminer lui sera présenté.

Pour envoyer une page d'erreur personnalisée, voyez le champ :

missing_fields_redirect
cfr. documentation officielle en anglais

Syntaxe :
Si vous désirez qu'ils remplissent p. ex. la case e-mail et numéro de téléphone de votre formulaire de manière à pouvoir les joindre par la suite, utilisez la syntaxe suivante :

<input type=hidden name="required" value="email,phone">