Instructions pour Formmailer

Qu’est-ce qu’un Formmailer?

Imaginez que vous organisez un événement et que vous souhaitez que les invités puissent s’inscrire par Internet. Il serait intéressant de pouvoir définir avec précision toutes les informations que les invités doivent fournir, p. ex. le nom, le nombre de personnes ou s’ils apporteront quelque chose. Grâce au Formmailer, vous pouvez créer très simplement de tels formulaires, sans pour autant avoir des connaissances de programmation approfondies. Les pages suivantes vous montrent comment faire.

Comment puis-je commencer?

Vous devez d’abord réfléchir aux informations que vous souhaitez transmettre par l’intermédiaire du formulaire.
Commencez par créer un formulaire simple. Veillez à ce que la «form action» indique  /cgi-sys/FormMail.cgi.

01 <form action="/cgi-sys/FormMail.cgi" method="post">
02 <table>
03     <tr>
04         <td>Votre adresse e-mail:</td>
05         <td><input type="text" name="email" /></td>
06     </tr>
07     <tr>
08         <td>Votre nom:</td>
09         <td><input type="text" name="realname" /></td>
10     </tr>
11     <tr>
12         <td>Votre remarque:</td>
13         <td><textarea cols="20" rows="5" name="comment" ></textarea></td>
14     </tr>
15     <tr>
16         <td><input type="submit" name="submit" value="Envoyer le formulaire" /></td>
17     </tr>
18 </table>
19 <div>
20         <input type="hidden" name="recipient" value="Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser." />
21         <input type="hidden" name="subject" value="Formulaire de contact" />
22 </div>
23 </form>

Ce formulaire se présente de la façon suivante:

 

L’e-mail que vous recevez pourrait se présenter ainsi:

 

FROM: Hans Muster <Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.>
TO: Info <Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.>
SUBJECT: Formulaire de contact

recipient: Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Comment: ""

Paramètres de base du Formmailer

Paramètres à l’intérieur de la page Web ou dans un fichier

Vous pouvez intégrer les paramètres dans des champs cachés, c’est-à-dire dans les champs du formulaire qui ne se voient pas, ou vous pouvez créer un fichier de configuration. Ceci est utile si, par exemple, vous ne souhaitez pas que votre adresse e-mail apparaisse dans le formulaire.

Pour cela, créez un dossier «formmail» dans votre répertoire FTP et un dossier «conf» dans ce dossier. Vous devez impérativement nommer ces dossiers ainsi. Puis, dans «conf», créez un fichier intitulé p. ex. «mon_formulaire». Dans votre programme FTP, cela doit ressembler à ça:

 

Vous pouvez ensuite intégrer ce fichier dans votre formulaire avec l’option suivante:

1 <input type="hidden" name="conf" value="mon_formulaire"/>

Le fichier est organisé en lignes et il a le format suivant:
feldname]:[wert]

Tous les signes peuvent apparaître dans la valeur, y compris les espaces et les tabulations.

Ce fichier pourrait avoir le contenu suivant:

recipient:Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
subject:My subject
confirmation:0
sort:alphabetic

A quelles adresses e-mail vais-je envoyer mon formulaire?

Vous pouvez envoyer les formulaires uniquement aux adresses e-mail de domaines qui appartiennent aussi à votre compte Hostpoint. Vous pouvez les envoyer directement à une adresse e-mail et, en complément, à une autre adresse e-mail en copie ou copie cachée. Ces adresses aussi doivent appartenir à votre compte.

Adresse e-mail du destinataire (To)

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="recipient" value="Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."/>
Configuration dans le fichier Config:
recipient:Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

Adresse e-mail en copie (Cc)

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="cc_mail" value="Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."/>
Configuration dans le fichier Config:
cc_mail:Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

Adresse e-mail en copie cachée (Bcc)

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="bcc_mail" value="Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."/>

Configuration dans le fichier Config:

bcc_mail:Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

Es lassen sich mehrere E-Mail-Adressen mit Komma getrennt einfügen.

Autres paramètres e-mail importants

E-mail de confirmation

En raison des abus de spammeurs, cette fonction a malheureusement dû être supprimée.

Objet

Vous pouvez prédéfinir l’objet ou le laisser saisir par la personne qui remplit le formulaire. Si vous optez pour la dernière solution, rendez le champ visible; dans l’autre cas, cela n’est pas nécessaire.

1 Configuration dans le code du formulaire:
2 <input type="text" name="objet"/>
1 Définir l’objet vous-même:
2 <input type="hidden" name="subject" value="Mon objet"/>
Configuration dans le fichier Config:
subject:Mein Objet

Nom de la personne qui remplit le formulaire

Le nom de la personne qui remplit le formulaire doit être inséré dans le champ «realname»; il est ensuite affiché dans l’en-tête de l’e-mail.

1 Configuration dans le code du formulaire:
2 <input type="text" name="realname" />

E-mail de la personne qui remplit le formulaire

Définir l’adresse e-mail de la personne qui remplit le formulaire comme expéditeur
1 L’e-mail de la personne qui remplit le formulaire doit être inséré dans le champ «email»; il est ensuite affiché dans l’en-tête de l’e-mail.
2 Configuration dans le code du formulaire:
3 <input type="text" name="email" />
Intégrer l’adresse e-mail de la personne qui remplit le formulaire sous forme de texte, définir votre propre adresse comme expéditeur

La première variante définit l’adresse e-mail de la personne qui remplit le formulaire comme expéditeur de l’e-mail. Ceci peut parfois créer des difficultés, par exemple en cas de faute de frappe lors de la saisie des adresses e-mail. Des technologies telles que SPF peuvent aussi expliquer pourquoi le propriétaire du formulaire ne reçoit pas l’e-mail.

Nous recommandons donc la configuration suivante:

1 Configuration dans le code du formulaire:
2 <input type="text" name="email_text" />
Configuration dans le fichier Config:
email:Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

Définissez la valeur «email» de façon fixe avec une adresse e-mail existant sur votre hébergement. Vous garantissez ainsi que vous recevrez toujours l’e-mail. Vous trouverez l’adresse e-mail de la personne qui remplit le formulaire intégrée en texte clair dans le contenu.

Charset

Le jeu de caractères par défaut du Formmailer est iso-8859-1. Si votre page est rédigée dans un autre jeu de caractères, vous devez configurer cet aspect dans le Formmailer pour que les données soient correctement présentées dans l’e-mail. Pour cela, veuillez utiliser le champ «charset»:

1 <input type="hidden" name="charset" value="utf-8" />

Classer les champs dans l’e-mail

Vous pouvez classer les champs du formulaire par ordre alphabétique ou selon un ordre que vous définissez vous-même. Si vous ne classez pas les champs, ils sont présentés au hasard et non comme vous les avez énumérés sur votre page Web. Ainsi, il n’est possible de classer les e-mails selon l’ordre adopté sur la page Web que si vous les classez dans le champ «sort».

Classement alphabétique

1 Configuration dans le code formulaire:
2 <input type="hidden" name="sort" value="alphabetic"/>
Configuration dans le fichier Config:
sort:alphabetic

Classement individuel

Dans ce cas, c’est d’abord la commande, puis le nom qui apparaissent dans l’e-mail. S’il existe d’autres champs, ils sont ajoutés à la suite.

1 Configuration dans le code formulaire:
2 <input type="hidden" name="sort" value="Bestellung,Name"/>
Configuration dans le fichier Config:
sort:Bestellung,Name

Page de succès et page d’erreur

Vous pouvez créer votre propre page Web pour l’envoi avec succès et pour l’échec de l’envoi du formulaire et la faire afficher de façon automatique.

Pour la page d’erreur, vous recevez les champs erronés sous forme de paramètres GET et pouvez les lire avec un langage de programmation.

Page de succèss

1 Configuration dans le code formulaire:
2 <input type="hidden" name="redirect" value="http://www.votre-propre-domaine.ch/success.html"/>
Configuration dans le fichier Config:
redirect:http://www.votre-propre-domaine.ch/success.html

Page d’erreur

1 Configuration dans le code formulaire:
2 <input type="hidden" name="missing_fields_redirect" value="http://www.votre-propre-domaine.ch/success.html"/>
Configuration dans le fichier Config:
missing_fields_redirect:http://www.votre-propre-domaine.ch/success.html

Paramètres avancés du Formmailer

Bien sûr, vous pouvez aussi configurer votre formulaire de façon plus détaillée.

Le visiteur peut joindre au formulaire un fichier à votre attention

Le visiteur peut vous envoyer des fichiers. Pour cela, vous devez d’abord rendre le formulaire adapté à des fichiers. Ajoutez l’option enctype="multipart/form-data":

1 <form action="/cgi-sys/FormMail.cgi" method="post" enctype="multipart/form-data">

Chaque champ auquel un fichier peut être joint doit commencer par file_ et avoir le type file.

1 <input type="file" name="file_anhang" />

Informations sur l’adresse IP ou le navigateur

Vous pouvez insérer des variables d’environnement, c’est-à-dire des informations sur l’environnement du visiteur. Il peut s’agir de l’adresse IP, du nom du navigateur utilisé et du nom utilisé sur Internet pour l’ordinateur du visiteur.

Variables d’environnement

REMOTE_HOST
Fournit le nom utilisé sur Internet pour l’ordinateur du visiteur 
REMOTE_ADDR
Fournit l’adresse IP du visiteur 
HTTP_USER_AGENT
Fournit le nom du navigateur et le système d’exploitation du visiteur 
1 Configuration dans le code formulaire:
2 <input type="hidden" name="env_report" value="REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT" />
Configuration dans le fichier Config:
env_report:REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT

Qu’est-ce qui doit apparaître dans l’e-mail?

En général, tous les champs de l’e-mail sont transmis. Mais vous pouvez cacher les champs.

Cacher des champs

Ici, les champs «redirect», «sort», «missing_field_redirect» et «bcc_mail» n’apparaissent pas dans l’e-mail:

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="print_config" value="redirect,sort,missing_field_redirect,bcc_mail" />
Configuration dans le fichier Config:
print_config:redirect,sort,missing_field_redirect,bcc_mail

Vérification des données saisies dans le formulaire

Vous pouvez simplement vérifier l’existence des variables ou les comparer à d’autres variables.

Champ obligatoire

Vous pouvez p. ex. utiliser ce paramètre dans un formulaire dans lequel une adresse doit être saisie.
Configuration dans le code du formulaire:

1 <input type="hidden" name="required" value="name,firstName,street,zip,city" />
Configuration dans le fichier Config:
required:name,firstname,street,zip,city

Vérification par rapport à une expression régulière

Vous pouvez ajouter une expression régulière avec `[feld]_regex`. Attention: pour utiliser cette option, vous devez impérativement posséder des connaissances à propos des expressions régulières!

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="plz_regex" value="^\d+$" />
Configuration dans le fichier Config:
plz_regex:^\d+$

Journalisation

Vous pouvez en outre enregistrer dans un fichier les messages qui vous sont transmis. Le journal (log) est archivé dans le dossier formmail/log dans le même répertoire que celui où se trouve «public_html» ou «www». Vous pouvez définir le fichier journal avec le paramètre logfile.

 

Voyez ci-dessous comment définir le fichier comme fichier journal:

Logfile

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="logfile" value="mails.txt" />
Configuration dans le fichier Config:
logfile:mails.txt

Templates

Vous pouvez adapter individuellement l’apparence de l’e-mail que vous recevez.

Créer des templates

Vous pouvez définir précisément à quoi doit ressembler l’e-mail que vous recevez.

Pour cela, dans le dossier formmail/templates dans le répertoire FTP racine, créez un fichier avec le nom de votre choix. Nous nommons le template «inscription.txt».

Ecrivez dans ce fichier à quoi doit ressembler l’e-mail. Les noms entre crochets sont remplacés par le champ correspondant.

Exemple

Le contenu du fichier inscription.txt pourrait se présenter ainsi:

Nom: [name]
Prénome: [prenom]
Rue: [rue]
NPA/Localité: [PLZ] [ort]

Remarque:
[commentaire]

Un e-mail envoyé avec les données du client pourrait donc ressembler à ceci:

Nom: Dupont
Prenom PierreRue: Rue Example 1
PLZ/Ort: 1234 Ville Exemple

Remarque:
Je viens avec mon épouse et j’apporte un gâteau.

Utiliser des templates

Je viens avec mon épouse et j’apporte un gâteau.

Template pour l’e-mail que vous recevez

1 Configuration dans le code du fomulaire:
2 <input type="hidden" name="mail_template" value="anmeldung.txt" />
Configuration dans le fichier Config:
mail_template:anmeldung.txt

Conception de la page de succès et de la page d’erreur

Vous pouvez aussi modifier la page de succès et la page d’erreur sans propre page HTML. Ces options ne sont pertinentes que si vous ne créez pas votre propre page de succès ou d’erreur.

Fond

Image de fond de la page de succès ou d’erreur

1 Configuration dans le code du fomulaire:
2 <input type="hidden" name="background" name="http://ihre-eigene-domain.ch/hintergrund.png" />
Configuration dans le fichier Config:
background:http://votre-propre-domaine.ch/fond.png

Couleur de fond de la page de succès ou d’erreur

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="bgcolor" name="gray" />
Configuration dans le fichier Config:
bgcolor:gray

Image de fond de la page de succès

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="success_background" name="http://votre-propre-domaine/fond.png" />
Configuration dans le fichier Config:
success_background:http://votre-propre-domaine/fond.png

Couleur de fond de la page de succès

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="success_bgcolor" name="gray" />
Configuration dans le fichier Config:
success_bgcolor:gray

Image de fond de la page d’erreur

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="error_background" name="http://votre-propre-domaine.ch/fond.png" />
Configuration dans le fichier Config:
error_background:http://votre-propre-domaine.ch/fond.png

Couleur de fond de la page d’erreur

1 Configuration dans le code formulaire:
2 <input type="hidden" name="error_bgcolor" name="gray" />
Configuration dans le fichier Config:
error_bgcolor:gray

Titre

Le titre de la page de succès et de la page d’erreur peut être défini comme suit:

Titre de la page de succès

1 Configuration dans le code formulaire:
2 <input type="hidden" name="success_title" name="Mail erfolgreich gesendet" />
Configuration dans le fichier Config:
success_title:Mail erfolgreich gesendet

Titre de la page d’erreur

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="error_title" name="Falsche Felder" />
Configuration dans le fichier Config:
error_title:Falsche Felder

Particularités de la page d’erreur

Si vous laissez Formmailer générer la page d’erreur, les champs seront présentés de la façon suivante:

[champ]:
[valeur]

Donc, par exemple:

email:
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

Vous pouvez modifier la couleur de «`[champ]`» avec le paramètre error_key_color, et celle de «`[valeur]`» avec error_value_color:

Couleur de `[champ]`

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="error_key_color" name="blue" />
Configuration dans le fichier Config:
error_key_color:blue

Couleur de fond de la page d’erreur

1 Configuration dans le code du formulaire:
2 <input type="hidden" name="error_value_color" name="red" />
Configuration dans le fichier Config:
error_value_color:red

Exemples

Voilà à quoi pourrait ressembler un formulaire.

Formulaire d’invitation à une fête

 

01 Le code se présente ainsi:
02 <form action="/cgi-sys/FormMail.cgi" method="post">
03 <table>
04 <tr>
05 <td>Ihr Name:</td>