Vous avez réussi à créer votre formulaire ? Bravo. Mais vous voulez maintenant configurer finement la réponse automatique par mail. Voici tout ce que vous devez savoir !
Activer la réponse automatique
Vous devez évidemment avoir un champ de type email dans votre formulaire :
Sinon comment savoir à quel email joindre l’internaute ? Il sera judicieux de définir ce champ comme obligatoire, pour être sur que le mail pourra être envoyé. Ce pré-requis remplis, vous devez ensuite aller dans la partie propriété du formulaire.
Vous pouvez alors définir la propriété « Envoyer un mail d’accusé de reception avec :»
Un menu déroulant vous propose de choisir parmi les champs de type email présents dans le formulaire :
Sélectionnez celui correspondant au mail de l’internaute. Apparait alors un champ Texte qui va vous permettre de mettre un message générique envoyé à chaque internaute :
Voila, vous avez déjà rempli la première étape : activer la réponse automatique, et mettre un message correspondant à votre formulaire, qui sera envoyé à tous les internautes. Vous pouvez le tester en remplissant le formulaire dans la partie publique de votre site. Vous allez recevoir un message de ce type :
Bonjour, Nous avons bien reçu votre message et ne manquerons pas de vous recontacter dans les plus brefs délais. Réponse envoyée le 11 octobre 2007 Depuis la page http://www.votredomaine.com/spip.php?page=article&article=xx Mon email : cedric@yterium.com Mon nom : Morin Mon prénom : Cédric
Personnaliser complètement le mail
Par défaut le mail reprend donc le message que vous avez défini dans le champs texte, puis les informations qui ont été saisies par l’internaute, enrichie de la date et l’url depuis laquelle ont été saisies les informations. Ce mode de présentation permet à l’internaute de garder une trace de sa saisie. Mais il n’est parfois pas pertinent. Sur un site commercial, il peut aussi parfois être nécessaire d’enrichir le mail d’un contenu calculé dynamiquement en fonction de la réponse (suggestions en fonction de centre d’intérêts par exemple).
Comment faire ?
Vous vous en doutiez ;-), c’est très simple ! Encore faut-il le savoir :). Le mail de d’accusé de réception est calculé par le squelette form_reponse_email_confirm.html
que vous trouverez dans le sous-dossier modeles/
du plugin. Copiez le dans le sous dossier modeles/
de votre dossier squelette et ouvrez le ! Dans la dernière version du plugin vous trouverez quelque chose qui ressemble à cela :
La boucle _reponses
permet d’attraper la réponse dans la table FORMS_DONNEES
par son id_donnee. Attention, elle utilise un critère {tout}
car sinon la boucle ne renverrait rien si la réponse n’est pas encore validée (modération à priori), ou si elle n’est pas publique. La boucle _form
permet d’aller chercher le #TEXTE
que vous avez spécifié dans la configuration du formulaire pour la réponse automatique. La suite du squelette va affiche la date, l’url de saisie, et les valeurs de chaque champs saisi. Vous pouvez supprimer cette partie si vous n’en voulez pas, ou ne la garder que sur certains formulaires en ajoutant un critère {id_form IN ...}
à la boucle _champs
etc. Vous pouvez aussi complexifier la réponse en allant chercher du contenu à suggérer à l’internaute en fonction de certaines de ses réponses.
Un mail format texte ou html ?
Il convient de faire attention au format du mail. Par défaut ce squelette produit un mail au format texte : chaque retour à la ligne sera appliqué, aucun tag html ne doit être utilisé. Pour envoyer un mail au format html il faut le faire débuter par <html>
et finir par </html>
. Le format d’envoi par Forms&tables sera alors automatiquement modifié.
Un dernier truc pour tester facilement
Remplir un formulaire pour tester à chaque modification est un peu lourd. N’hésitez pas à copier le squelette à la racine de votre dossier squelette
et à le tester en appelant spip.php?page=form_reponse_email_confirm&id_donnee=xx
avec un id_donnee correspondant à une réponse déjà saisie. Si vous utilisez le format texte, visualisez le source de la page, pas la page elle même qui sera affichée par votre navigateur au format html.