FormMail est un script permettant de récupérer les informations introduites par un visiteur dans un formulaire.
Le script à plusieurs options pour la mise en page de la réponse, et pour la définition de différentes options (sujet du mail, page a afficher apres l'envoi, champs obligatoire, ...).
La plupart de ces options sont définissables directement dans le fichier html il n'est donc pas nécéssaire de toucher au programme.
Il est possible de limiter l'utilisation du script a certains domaines, pour éviter que tout Internet n'utilise votre serveur pour envoyer ses formulaires ;-)
Installation du script
Comme pour tous les scripts, vérifiez que la première ligne indique bien le chemin d'accès à perl sur votre serveur.
$mailprog = '/usr/sbin/sendmail';
Indiquez le chemin d'accès au programme sendmail qui va permettre d'envoyer les mails.
@referers = ('scripts-fr.com','rotule.net');
Indiquez ici les noms de domaines qui peuvent utiliser le script pour envoyer des formulaires. Dans ce cas ci par exemple, seuls les formulaires situés sur scripts-fr.com et rotule.net seront acceptés.
Vous pouvez étendre cette liste comme bon vous semble. Vous pouvez également spécifier des adresses ip si vous le souhaitez.
Utilisation du script
Un seul champ est obligatoire : le champ recipient qui permet de savoir à qui il faut envoyer le mail.
Il existe plusieurs champs optionnels dont entre autres :
subject qui permet de recevoir un mail avec un sujet.
Pour permettre a vos visiteurs de spécifier un sujet, placez ce morceau de code dans votre formulaire :
<input type=text name="subject">
email qui vous permet de répondre directement au formulaire si le visiteur a indiqué son adresse mail dans ce champ ci car le champ from du mail est initialisé avec l'adresse de votre visiteur.
Pour permettre à vos visiteurs de donner leur adresse mail, placez ce morceau de code dans votre formulaire : <input type=text name="email">
realname permet à votre visiteur de spécifier ce nom, et que ce nom soit réutilisé dans le champ From de l'email que vous recevrez. Le code à placer est :
<input type=text name="realname">
redirect permet de rediriger le visiteur vers une page html de votre choix après avoir envoyé le formulaire.
Pour rediriger vos visiteurs après l'envoi du mail, placez ce morceau de code dans votre formulaire :
<input type=hidden name="redirect" value="http://domaine/page.html> en oubliant pas de spécifier la bonne url ;-)
required : permet de spécifier quels champs sont nécéssaires pour que le formulaire puisse être envoyé.
Si certains champs obligatoires ne sont pas remplis, le visiteur verra une page le lui signalant. Il est possible de combiner avec missing_fields_redirect de facon à avoir une page de message personalisée.
Pour rendre obligatoire certains champs, placez le code suivant dans votre formulaire :
<input type=hidden name="required" value="champ1, champ2">. A la place de champ1 champ2, vous indiquez le nom des champs de votre formulaire qui sont obligatoires.
env_report permet de spécifier quelles variables d'environement vous voulez recevoir dans votre mail. Le code à placer est :
<input type=hidden name="env_report" value="REMOTE_HOST,HTTP_USER_AGENT">.
Vous pouvez ajouter ou supprimer des variables d'environement à la liste. Pour une liste plus complète de ces variables, allez voir le mini guide CGI.
sort vous permet de spécifier un ordre de tri pour l'apparition des données dans le mail que vous recevez. Le code à placer est :
<input type=hidden name="sort" value="alphabetic"> pour trier suivant l'ordre alphabétique ou
<input type=hidden name="sort" value="order:champ1,champ2,etc..."> pour trier suivant l'odre que vous avez défini.
print_blank_fields vous permet d'imprimer tous les champs, même ceux qui sont vides. Le code à placer est :
<input type=hidden name="print_blank_fields" value="1">
title permet de choisir le titre de la page de confirmation qui sera affichée si vous n'avez pas spécifié de redirection. Le code à insérer est :
<input type=hidden name="title" value="Feedback Form Results">
return_link_url permet de définir le lien qui sera sur la page de confirmation. Ce champ n'est pas utilié si vous faites une redirection. Le code à insérer est :
<input type=hidden name="return_link_url" value="http://your.host.com/main.html">
return_link_title défini le texte qui va apparaitre sur le lien défini ci dessus. Le code à insérer est :
<input type=hidden name="return_link_title" value="Back to Main Page">
missing_fields_redirect permet de spécifier l'url vers laquelle renvoyer le visiteur si certains champs obligatoires ne sont pas remplis. Le code à inserer est :
<input type=hidden name="missing_fields_redirect" value="http://your.host.com/error.html">
background permet de spécifier une image qui apparaitra comme fond d'écran dans la page de réponse si vous n'avez pas spécifié de redirection. Le ocde à insérer est :
<input type=hidden name="background" value="http://your.host.com/image.gif">
bgcolor permet de spécifier une couleur de fond pour la page de confirmation générée par le script. CEtte option ne doit pas être utilisée si il y a une redirection. Le code à insérer est :
<input type=hidden name="bgcolor" value="#FFFFFF"> (pour un fond blanc)
text_color permet de spécifier la couleur du texte de la page de confirmation. Le code à utiliser est :
<input type=hidden name="text_color" value="#000000">
link_color permet de spécifier la couleur des liens dans la page de confirmation. Le code à utiliser est :
<input type=hidden name="link_color" value="#FF0000">
vlink_color permet de spécifier la couleur que doivent avoir les liens déja visités. Le code à insérer est :
<input type=hidden name="vlink_color" value="#0000FF">
alink_color permet de spécifier la couleur des liens actifs. Le code à insérer est :
<input type=hidden name="alink_color" value="#0000FF">