IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] Problème d'envoi de mail suite à un formulaire


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Points : 40
    Points
    40
    Par défaut [Mail] Problème d'envoi de mail suite à un formulaire
    Bonjour,
    J'ai un formulaire avec des checkbox.
    Je récupère ces données dans un autre fichier et l'envoie par mail.
    Là, dans le mail de réception, les sauts de lignes ne se font pas....

    je reçois ceci :
    moi - crea@phoon.org - mercredi 13:00<br />mardi 18:30<br />mardi 19:00<br />lundi 19:15<br />Message
    je ne comprends pas pourquoi !

    Voici le code que j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     <?php
    // La variable $verif, va nous permettre d'analyser si la sémantique de l'email est bonne
    $verif="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!";
     
    // On assigne et protége nos variables
    $votrenom=$_POST["votrenom"];
    $votremail=$_POST["votremail"];
    $from=htmlentities("From: ".$votremail);
    $message=stripslashes(htmlentities($_POST["message"]));
    $message = html_entity_decode($message);
     
        // $_POST["cours"] contient un tableau de valeurs
        $cours = $_POST["cours"];
     
        for ($i=0; $i<count($cours); $i++) {
        echo $cours[$i]."<br />";
        $message = $cours[$i]."<br />".$message;
        }
     
    $message = $votrenom." - ".$votremail." - ".$message;
     
    // On met ici notre email
    $destinataire="cours@aquagym-lacote.com";
     
    /* On place le sujet du message qui ici sera toujours le même
    puisque dans la partie Html on l'a mis en caché grace au type="hidden";) avec comme valeur "Vous avez un nouveau message"  */
    $objet=$_POST['objet'];
     
    // C'est bon on est OK, vérifions si l'email est valide, grâce à notre sympathique REGEX
    if(!preg_match($verif,$votremail))
    {
            echo "Votre adresse email n'est pas valide";
    }
     
    // On verifie si il y a un nom
    elseif (trim($votrenom)=="")
    {
            echo "Merci de nous indiquer votre nom";
    }
     
    // On verifie si il y a un message
    elseif (trim($message)=="")
    {
            echo "Merci de mettre un message";
    }
     
    // Si tout est OK on envoie l'email
    else
    {
     
            mail($destinataire,$objet,$message,$from);
            echo "le message a bien été envoyé à Aquagym-La Côte";
    }
     
    ?>
    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut


    Dans le header du mail tu n'as pas renseigné le type d'email. Là il est envoyé au format text.

    FAQ PHP

  3. #3
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Points : 40
    Points
    40
    Par défaut Merci
    Merci pour la réponse

  4. #4
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Points : 40
    Points
    40
    Par défaut Problème pas complétement réglé
    Bonjour
    J'ai modifié mon script comme indiqué :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     <?php
    // La variable $verif, va nous permettre d'analyser si la sémantique de l'email est bonne
    $verif="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!";
     
     
     
    // On assigne et protége nos variables
    $votrenom=$_POST["votrenom"];
    $votremail=$_POST["votremail"];
    $from=htmlentities("From: ".$votremail);
    $message=stripslashes(htmlentities($_POST["message"]));
    $message = html_entity_decode($message);
     
        // $_GET["loisirs"] contient un tableau de valeurs
        $cours = $_POST["cours"];
     
        for ($i=0; $i<count($cours); $i++) {
        echo $cours[$i]."<br />";
        $message = $cours[$i]."<br />".$message;
        }
     
    $message = $votrenom." - ".$votremail." - ".$message;
     
    // On met ici notre email
    $destinataire="cours@aquagym-lacote.com";
     
    /* On place le sujet du message qui ici sera toujours le même
    puisque dans la partie Html on l'a mis en caché grace au type="hidden";) avec comme valeur "Vous avez un nouveau message"  */
    $objet=$_POST['objet'];
     
    // C'est bon on est OK, vérifions si l'email est valide, grâce à notre sympathique REGEX
    if(!preg_match($verif,$votremail))
    {
            echo "Votre adresse email n'est pas valide";
    }
     
    // On verifie si il y a un nom
    elseif (trim($votrenom)=="")
    {
            echo "Merci de nous indiquer votre nom";
    }
     
    // On verifie si il y a un message
    elseif (trim($message)=="")
    {
            echo "Merci de mettre un message";
    }
     
    // Si tout est OK on envoie l'email
    else
    {
     
         // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
         $headers  = 'MIME-Version: 1.0' . "\r\n";
         $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
     
         $headers .= $from . "\r\n";
         mail($destinataire,$objet,$message,$headers);
         echo "le message a bien été envoyé à Aquagym-La Côte";
    }
     
    ?>
    Maintenant j'obtiens

    Philippe - crea@phoon.org - mercredi 12:15
    lundi 14:00
    mardi 20:00
    lundi 19:15
    Test de communication à é è $ - é à $ è
    Les sauts de lignes y sont bien, mais j'ai de nouveau les accentués en caractères cabalistiques.....

    Que faire ?

    Merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Mail] Problème d'envoi de mail
    Par eyango dans le forum Langage
    Réponses: 2
    Dernier message: 07/07/2008, 12h36
  2. Réponses: 1
    Dernier message: 13/01/2008, 12h52
  3. [Mail] Problème d'envoi de mail avec pièces jointes
    Par nelly644 dans le forum Langage
    Réponses: 2
    Dernier message: 31/03/2007, 10h14
  4. [Mail] Problème d'envoi de mail (configuration ?)
    Par Sorcier157 dans le forum Autres composants
    Réponses: 1
    Dernier message: 13/03/2007, 13h13
  5. [Mail] Problème d'envoi de mail au format HTML
    Par Romalafrite dans le forum Langage
    Réponses: 2
    Dernier message: 27/02/2007, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo