Publié le 03/07/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
1 commentaires

Envoyer un email a partir d'un formulaire

A partir d'un formulaire, la fonction mailto permet à un internaute d'envoyer un email sans passer par un script PHP. L'application de messagerie par défaut (Outlook, Thunderbird, IncrediMail, ..) est automatiquement ouvert avec un message déjà remplie.

Formulaire de contact sans PHP

Comprise par tous les navigateurs, mailto ouvre le client de messagerie par défaut. Ce n'est pas une fonction Javascript à proprement parler, il s'agit d'un attribut de lien qui s'utilise le plus souvent dans une page HTML sous la forme:
<a href="mailto:user@domain.com?subject= sujet">Envoyer un email</a>

La syntaxe pour ajouter l'adresse du destinataire, le titre et le message:
mailto:adresse du destinataire?subject=titre du message&body=message

Formulaire HTML d'envoi d'un email

ajax-mailtoL'internaute saisie son message dans un formulaire HTML classique. Le click sur le bouton envoyer déclenche l'action Javascript sendMail.




Code HTML du formulaire
Afin d'afficher un formulaire comprenant une adresse email, le sujet et le contenu du message, on peut utiliser le code HTML suivant:
<form method="" action="javascript:sendMail()">
    <table border="0" cellspacing="1" width="400">
        <tr>
            <td width="98">Destinataire</td>
            <td width="295">
                <input type="text" id="edTo" size="39"></td>
        </tr>
        <tr>
            <td width="98">Sujet</td>
            <td width="295">
                <input type="text" id="edSubject" size="39"></td>
        </tr>
        <tr>
            <td width="98">Message</td>
            <td width="295">
                <textarea rows="3" id="edBody" cols="33"></textarea></td>
        </tr>
    </table>
    <br>
    <input type="submit" value="Envoyer" >
</form>

Fonctions javascript d'envoi du message

Au lieu d'appeler directement la fonction mailto dans le post du formulaire, la fonction send Mail() effectue les opérations suivantes:
- tester les données saisies par l'internaute dans le formulaire,
- encoder les textes pour respecter le format des URL,
- rediriger l'internaute vers le logiciel de messagerie.

Note : La fonction sendMail() est à coller au dessus du code HTML du formulaire

<script language="Javascript" type="text/javascript">
    function sendMail() {
        <!--Tester les donnees-->
        if (document.getElementById("edTo").value.length==0) {
            alert("Saisir l'adresse du destinataire !!!");
            return;
        }
        if (document.getElementById("edSubject").value.length==0) {
            alert("Saisir le titre !!!");
            return;
        }
        if (document.getElementById("edBody").value.length==0) {
            alert("Ecrire le message !!!");
            return;
        }
        <!--Encoder l'url mailto-->
        var url="mailto:"+encodeURIComponent(document.getElementById("edTo").value)
            +"?subject="+encodeURIComponent(document.getElementById("edSubject").value)
            +"&body="+encodeURIComponent(document.getElementById("edBody").value);
        <!--Ouvrir client messagerie-->
        document.location=url;
    }
 
</script>

A priori, cette solution ,'est pas la plus élégente pour permettre à l'internaute d'envoyer un message au webmaster du site internet. La principale force dans l'envoi d'un email sans PHP est qu'elle est très simple à mettre en place et que le message est envoyé à partir du logiciel de messagerie par défaut.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.
avatar titi

Publié par titi

le 19/12/2011 à 08:56:20

test de ce truc! eh ben exigeant en plus

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
tuto - webmaster
Mise a jour
03/07/2010
Visualisation
vu 5733 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 261 articles
|BIO_PSEUDO|
Commentaires récents

Publié par max dans java

est que ce framework fonctionne pour une application web ?

Publié par fffffff dans php5

comment est-ce que les joueurs s'inscrivent, utilisez-vous PHP ?

Publié par sakhr dans tuto

merci b c pour les plusieurs tailles d'images

Publié par Melo12 dans php5

Super article. Merci

Publié par Josalado dans CMS

je n'arrive pas à installer le logiciel <br>Message d'erreur : l'assistant d'installation n'a pas pu créer le dossier C:\program Files\Olibul <br>...