Documentation Form Mail Script

Merci de votre intérêt pour notre Form Mail Script. Nous vous recommandons de lire attentivement cette documentation.

Haut de Page

Présentation du Form Mail

Form Mail vous permet de recevoir des informations envoyées depuis un formualre de votre site Web, via e-mail, à un ou plusieurs destinataires. Il vous permet de choisir les envois de mail au format texte ou HTML. Il est doté de différents niveaux de sécurité qui réduisent la possiblité d'un usage non-autorisé. Le script fournit aussi un fichier Log des messages envoyés.

L'aspect du formulaire et de l'email peut être personnalisé à votre convenance et vous pouvez définir si le visiteur sera redirigé sur une page de remerciements ou sur un affichage des informations soumises.

Par ailleurs, pour le fonctionnement du script, vous devez appeler le script Form Mail depuis un formulaire ou un lien intégré à votre site. Ceci est une mesure de sécurité. Avant le lancement du script, celui-ci vérifie le nom du site référant, le compare avec les informations entrées dans le script de configuration. Si les informations correspondent, le script se lancera.

Vous pouvez appeler le Script Form Mail de deux manières.

Premièrement, vous pouvez appeler le script directement, en utilisant un lien vers le fichier "index.php". Ce lien doit conduire sur une page de VOTRE site. Si vous utilisez cette option, le script utilisera la page HTML et le modèle d'email par défaut définis dans le fichier de configuration "index.php" . Vous pouvez entièrement personnaliser ces modèles. Le lien ressemblera à ceci :

<a href="form_mail/index.php">Lien vers le formulaire</a>

Deuxièmement, vous pouvez aussi appeler le script de manière indirecte en utilisant un formulaire nouveau ou existant au format HTML. Cette page doit faire partie de VOTRE site. Cette méthode vous permet d'utiliser plusieurs formulaires avec le même script. Vous pouvez utiliser méthode en installant des modèles, que ce soit au format HTML ou texte, qui afficheront les différentes informations des champs de chaque formulaire. Le script est appelé quand le bouton est cliqué. Vous aurez besoin d'écrire, dans votre page HTML, une ligne semblable à :

<form action="form_mail/index.php" method="post">

Chaque formulaire peut utiliser son propre modèle. Vous pouvez appeler le modèle en ajoutant à votre page HTML, une ligne semblable à:

<input type="hidden" name="mail_template" value="email.tpl.txt" />

Vous pouvez aussi envoyer la même information à plusieurs modèles en ajoutant à votre page HTML une ligne semblable à:

<input type="hidden" name="mail_template" value="email.tpl.txt, report.tpl.txt" />

Les modèles HTML par défaut inclus dans le script sont écrits avec les spécifications XHTML 1.0. De ce fait, les tags HTML tels que <br> ou <input> contiennent un slash en fin de balise, ce qui donne:(<br /> ou <input type="text" name="field" />) Si vous utilisez un formulaire existant, vous n'avez pas besoin d'ajouter ce slash.

Haut de Page

Installation et configuration

Vous devez ouvrir le fichier de configuration "index.php" dans un éditeur de texte. (Bloc notes de windows par exemple). Recherchez la ligne:

$referring_server = "www.stadtaus.com, stadtaus.com, scripts"

Remplacez "www.stadtaus.com, stadtaus.com" par l'URL de votre site. Entrez la avec et sans www. Vérifiez que vous avez enlevé les " et conservé les '. Ce peut aussi être une bonne idée d'entrer votre adresse IP. Par exemple:

$referring_server = 'www.votre-serveur.com, votre-serveur.com, 123.654.987.15, scripts';

Si vous ne le faites pas, vous recevrez le message d'erreur: "Mauvais referrer ou referrer vide (site référant)!"

Il est possible que vous receviez ce message si vous serveur est équipé d'un pare-feu qui empêche le script de vérifier le referrer. Vous pouvez contourner cette difficulté en laissant vide la variable: $referring_server

Ceci désactive la vérification du referrer. Vous devrez alors insérer votre adresse email directement dans le modèle d'email choisi. Ceci rend le script inutilisable pour les spammers, puisque l'email ne peut être envoyé qu'à l'adresse email spécifiée dans le modèle.

Le fichier de configuration "index.php" contient un certain nombre de paramètres additionnels que vous pouvez éditer:

$allow_empty_referrer     Certains outils côté utilisateur cache le referrer (site référant) pour des raisons de sécurité.(pare-feu ou navigateur). Vous pouvez interdire l'accès avec un référant vide en configurant la variable sur "no" ou en autoriser l'accès en configurant sur "yes".

$language     Cette variable vous permet de choisir la langue d'utilisation du script. Pour l'anglais, entrez en entre les apostrophes. Pour l'allemand, entrez de . Pour l'espagnol, entrez es . Pour le français, entrez fr .

    Cela sélectionne le fichier langue correspondant dans le répertoire "languages". ( languages.en.inc.php, languages.de.inc.php, languages.es.inc.php, languages.fr.inc.php). Vous pouvez créer et nommer votre propre fichier langue.

Les fonctionnalités suivantes sont destinées à empêcher l'abus du script aux tiers (spammers). Vous pouvez configurer le script pour limiter le nombre d'e-mails qu'une même adresse IP address peut envoyer durant une période que vous pouvez aussi définir.

$ip_banlist     Cette variable peut contenir les adresses IP de serveurs auxquels vous voulez interdire totalement l'accès au Form Mail. Attention, beaucoup d'utilisateurs différents peuvent utiliser une adresse IP . Si vous ne souhaitez pas utiliser cette fonctionnalité, laissez la variable vide.

$ip_address_count     Cette variable vous permet de spécifier le nombre maximum d'e-mails autorisé pour un utilisateur durant sa visite sur votre site. Quand ce nombre est atteint, l'utilisateur ne peut plus envoyer d'e-mails depuis votre site, jusqu'à sa prochaine connexion Internet. Le nombre 0 (null, zero) désactive cette fonctionnalité.

    Quand vous utilisez cette fonctionnalité, la fonction log est aussi activée. Ceci est nécessaire pour que le script garde trace des adresses IP qui envoient des emails depuis votre site. Dans ce cas, le répertoire "logs" , et le fichier "logs/logfile.txt" doivent tous deux avoir des permissions d'écriture définies sur: chmod 777.

$ip_address_duration     Cette varaible définit le nombre d'heures requis (après envoi d'un 1er email par le visiteur) pour envoyer un autre email. Quand le nobre est dépassé, le visiteur peut à nouveau envoyer des emails depuis votre site.

$show_limit_errors     Cette variable vous permet de choisir si le script montre un message d'erreur une fois que le visiteur a atteint le nombre maximum d'emails envoyés.

$log_messages     Cette variable définit la fontion log (ON ou OFF). Définie sur ON, le répertoire "logs" , et le fichier "logs/logfile.txt" doivent tous deux avoir des permissions d'écriture sur: chmod 777.

$text_wrap     Cette variable définit le nombre maximum de caractères sur une ligne dans l'e-mail. Quand ce nombre est dépassé, un saut de ligne est automatiquement ajouté. Si aucune valeur n'est définie, aucune ligne ne sera sautée.

$show_error_messages     Cette variable est définie sur "yes" par défaut. Cela permet au script d'envoyer des messages d'erreurs durant le processus de configuration. Cela vous aidera pour l'installation du script. Après la configuration, il est préférable de définir la variable sur "off." Il n'est en effet pas judicieux de permettre aux visiteurs de voir votre script en action.

$path["logfile"]     Cette variable contient le chemin d'accès au fichier log .

$path["templates"]     Cette variable contient le chemin d'accès au répertoire TEMPLATES, contenant les modèles HTML et texte d'email. Le chemin peut être relatif (./templates/ or templates/) ou absolu ( /usr/local/etc/httpd/.../Form Mail/templates/). Vérifier la présence du slash en fin de ligne.

$file["default_html"]     Si vous appelez le script directement, en utilisant un lien, cette variable doit contenir le nom du fichier de modèle HTML . Le script utilisera automatiquement celui-ci.

$file["default_mail"]     Si vous appelez le script directement, en utilisant un lien, cette variable doit contenir le nom du fichier texte de l'email. Le script utilisera automatiquement celui-ci.

$add_text     Vous pouvez ajouter de nombreux textes, valeurs, ou autre contenu dans cette variable. Le contenu en sera affiché dans le modèle HTML en utilisant des marqueurs entre accolades {(Ctrl + Alt + touche 4) et } (Ctrl + Alt + touche du +).

    Si vous souhaitez ajouter vos propres valeurs, veuillez suivre la règle décrite dans ces exemples.

 
 
 $add_text = array(
                    "txt_textesup"   => "1er Texte Supplémentaire",
                    "txt_autretexte" => "Autre Texte Supplémentaire:"
                   );
            

La première partie de chaque entrée est le nom du champs. Pour utiliser sa valeur dans votre modèle HTML, placez-le entre accolades. Par exemple: {txt_textesup}. Le nom de chauqe entrée ne doit contenir aucun caractère spécial. Seul le " _ " est autorisé.

Haut de Page

Personnalisation des modèles HTML - templates/form.tpl.html

Le répertoire "templates" contient les fichiers qui déterminent l'aspect de votre page. Vous pouvez utiliser du code HTML et CSS .

Si vous utilisez un éditeur WYSIWYG tel que Dreamweaver, Frontpage ou NetObjects, vérifiez que le programme ne modifie rien par lui-même.

Le répertoire "examples" contient des modèles de formulaires supplémentaires. Vous pouvez les utiliser pour créer vos propres formulaires . Le modèle "advanced_form.tpl.html" contient des exemples pour insérer des cases à cocher, des boutons radio et des boîtes-listes déroulantes dans votre formulaire.

Les fichiers modèles contiennent des marqueurs avec{ et } comme: {txt_next_page}. Ces marqueurs seront remplacés par leur contenu défini dans le fichier langue "languages/language.fr.inc.php". Vous pouvez éditer ce fichier et d'en modifier les phrases. Vous pouvez aussi remplacer les marqueurs par des phrases dans votre page HTML, ou modifier la place de ces marqueurs dans la page. .

Le champs suivant n'est pas inclus dans le fichier langue et ne doit pas être modifié.

{message}

Champs de Formulaire

S'il y a une erreur ou si un champs est laissé vide, le script insèrera automatiquement un marqueur doté du même nom que le champs du formulaire ; ceci pour pré-formater le champs afin que le visiteur n'ait pas à compléter plusieurs fois le même formulaire. Par exemple:

<input type="text" name="lastname" value="{lastname}">

Vous pouvez ajouter plus de champs ou modifier les champs existants. Veuillez vérifier que le nom du champs et le marqueur ne contiennent ni espaces, ni caractères spéciaux. Ils peuvent néanmoins contenir un _ .Par exemple: "nom_de_famille".

Champs Obligatoires

Chaque champs peut être marqué comme champs requis. Ce qui implique que le formulaire ne sera pas envoyé tant que les champs n'auront pas été complétés. Entrez tous les noms des champs que vous souhaitez obligatoires sous forme d'entrée cachée dans votre page HTML. Par exemple:

<input type="hidden" name="required_fields" value="prenom, email, pays" />

Syntaxe E-mail

Comme pour les champs obligatoires, vous pouvez définir quels champs seront vérifiés pour être sûr de la syntaxe. Entrez tous les noms de champs d'emails que vous voulez vérifier dans une entrée cachée du formulaire. Par exemple:

<input type="hidden" name="email_fields" value="email_1, email_2" />

Page de remerciements

Après la soumission du formulaire, le visiteur sera redirigé vers une page que vous pouvez définir dans une entrée cachée du formulaire. Par exemple:

<input type="hidden" name="thanks" value="http://www.votre-serveur.com/merci.html" />

Veuillez entrer l'URL complète incluant http:// et le nom de domaine (ex.: http://www.votre-domaine.com/).

Définir le modèle HTML

Si vous appelez le script depuis un formulaire existant dans une page HTML, et ne souhaitez pas utiliser le modèle de fichier par défaut, vous pouvez définir un autre modèle dans une entrée cachée. Par exemple:

<input type="hidden" name="html_template" value="advanced_form.tpl.html" />

Définir le modèle Mail

De la même manière, vous pouvez définir le modèle de mail Par exemple:

<input type="hidden" name="mail_template" value="all_content_mail.tpl.txt" />

Vous pouvez aussi définir plusieurs modèles. Chaque modèle peut alors contenir un destinataire et un contenu différents. Par exemple:

<input type="hidden" name="mail_template" value="mail.tpl.txt, html_mail.tpl.txt" />

Boîte-liste déroulante

Le script peut traiter des listes déroulantes telles que:

 
 <select name="" size="">
   <option value=""></option>
   <option value=""></option>
 </select>
 

Seules les boîtes liste à sélection multiple sont exclues.

Voici comment faire apparaître les valeurs sélectionnées par le visiteur:

 
 
 <select name="Salutation" size="2">
   <option value="Mr" {select:Salutation=Mr}>Mr</option>
   <option value="Mme" {select:Salutation=Mme}>Mme</option>
 </select>
 

Le sélecteur {select:Salutation=Mme} contient les éléments suivants. En première position, vous trouvez le type de champs utilisé. Ici il s'agit d'un menu de sélection (= select). Ensuite les ( : ). En deuxième position, vous trouvez le nom du champs. Dans notre exemple, il s'agit de "Salutation." Ensuite le signe (=). En dernière position se trouve la valeur de la balise option (value="").

Pour faire apparaître la valeur sélectionnée dans l'email, vous devez entrer le nom entouré par les accolades {select:} dans le modèle de mail. Par exemple:

{select:Salutation}

Dans le cas où le visiteur n'a pas complété ce champs, le script le supprime dans le mail.

Cases à cocher

Le script peut traiter des cases à cocher telles que:

<input type="checkbox" name=" " value="" />

Vous pouvez vérifier que la valeur entrée sera affichée. Par exemple:

<input type="checkbox" name="Newslettre" value="Oui" {checkbox:Newslettre=Oui} />

Le sélecteur {checkbox:Newslettre=Oui} contient les éléments suivants. En première position, vous trouvez le type de champs utilisé. Ici il s'agit d'une cas à cocher (= checkbox). Ensuite les ( : ). En deuxième position, vous trouvez le nom du champs. Dans notre exemple, il s'agit de "Newslettre." Ensuite le signe (=). En dernière position se trouve la valeur de la balise option (value="").

Pour faire apparaître la valeur sélectionnée dans l'email, vous devez entrer le nom entouré par les accolades {checkbox:} dans le modèle de mail. Par exemple:

{checkbox:Newslettre}

Dans le cas où le visiteur n'a pas complété ce champs, le script le supprime dans le mail.

Boutons Radio

Le script peut traiter des boutons radio tels que:

<input type="radio" name=" " value="" />

Vous pouvez vérifier que la valeur entrée sera affichée. Par exemple:

<input type="radio" name="Salutation" value="Mr" {radiobutton:Salutation=Mme} />

Le sélecteur {radiobutton:Salutation=Mme}contient les éléments suivants. En première position, vous trouvez le type de champs utilisé. Ici il s'agit d'une cas à cocher (= checkbox). Ensuite les ( : ). En deuxième position, vous trouvez le nom du champs. Dans notre exemple, il s'agit de "Salutation." Ensuite le signe (=). En dernière position se trouve la valeur de la balise option (value="").

Pour faire apparaître la valeur sélectionnée dans l'email, vous devez entrer le nom entouré par les accolades {radiobutton:} dans le modèle de mail. Par exemple:

{radiobutton:Salutation}

Dans le cas où le visiteur n'a pas complété ce champs, le script le supprime dans le mail.

Vous pourrez trouver des exemples des précédentes fonctionnalités dans le modèle "advanced_form.tpl.html".

Haut de Page

Personnalisation du modèle E-mail - templates/mail.tpl.txt

En hat du modèle de l'email se trouve les données d'en-tête. Par exemple:

 
 
       Recipient           To:
       Sender              From:
       Subject             Subject:
       Carbon Copy         CC:
       Blind Carbon Copy   BCC:
 

Vous pouvez définir l'email du destinataire de cette manière:

      To: nom@votre-serveur.com

De plus, vous pouvez ajouter plusieurs destinataires en copie conforme et copie conforme invisible:

 
       CC: nom@votre-serveur.com
       CC: chef@compagnie.com
       BCC: secret@autre-compagnie.com
 

Note: Vous ne pouvez pas envoyer pus d'un email par nom de domaine. L'exemple ci-dessous ne fontionnera pas:

 
       To: nom@compagnie.com
       CC: chef@compagnie.com 
 

Vous pouvez aisément contourner cette difficulté, si vous avez accès à la redirection des emails sur votre serveur. Créez une adresse email qui redirigera les emails vers les adresses souhaitées. Par exemple, vous pouvez créer l'adresse (liste@compagnie.com). Les emails envoyés à cette adresse pourront être redirigés vers les deux autres adresses de notre exemple: (nom@compagnie.com et chef@compagnie.com).

Vous pouvez définir l'émetteur du mail. Par exemple:

      From: chef@compagnie.com

Vous pouvez aussi utiliser l'information transmise depuis le formulaire. Par exemple:

       From: {email}

Vous pouvez aussi ajouter le nom de l'émetteur. Dans ce cas, le nom est suivi par l'adresse entre < >.

       From: {prenom} {nom} <{email}>

Sous la zone d'en-tête, se trouve une ligne vide (2 sauts de ligne). En dessous, se trouve le contenu de l'email. Vous pouvez personnaliser ce contenu autant que vous voulez. Si vous ajoutez des champs à votre formulaire, vous devrez aussi placer le nom de ces champs entre accolades {} dans le modèle d'email.

Vérifiez bien que le nom de ces champs dans votre formulaire soient bien identiques aux noms insérés entre accolades dans votre modèle de mail.

Affichage des données du formulaire avec un seul marqueur

Vous pouvez afficher toutes les données du formulaire avec un seul et unique marqueur. Ajoutez seulement ceci dans votre modèle de mail:

{all_content}

Variables d'Environment et date et heure du serveur

Les variables d'environnement suivantes sont fournies par Form Mail Script. Pour les faire apparaître dans l'email, placez les marqueurs suivants dans votre modèle: (dans l'ordre qui vous convient)

{env_user_agent}     Navigateur du visiteur (Mozilla, Netscape, Opera, Internet Explorer).

{env_remote_address}     Adresse IP du visiteur.

{env_remote_host}     Hôte de l'utilisateur.

{env_year}     Année

{env_month}     Mois

{env_day}     Jour

{env_hour}     Heure

{env_minute}     Minutes

{env_second})     Secondes

Haut de Page

Fichier log - logs/logfile.txt

Le répertoire "logs" et le fichier "logfile.txt" doivent avoir les permissions d'écriture. Définissez-les sur chmod 777.

Haut de Page

Information de Licence

Vous pouvez utiliser gratuitement Formail Script. Si vous désirez l'utiliser sans le lien vers STADTAUS.com , vous devez acheter une version complète en ligne.

La version complète comprend les mises à jour et mises à niveau.

Contact: http://www.stadtaus.com/fr/

Plus de Scripts sur STADTAUS.com:

Visitez aussi notre projet MetaCollection. De nombreuses ressources et archives sur les scripts CGI et PHP

http://www.metacollection.com/

Haut de Page

Dépannage

Pour les réponses à vos questions sur Form Mail, et pour les solutions à vos problèmes avec l'utilisation de Form Mail, visitez notre support forum.

Haut de Page