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] Erreur d'envoi


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut [Mail] Erreur d'envoi
    Salut a tous
    voila je debute et j'ai deux pages

    formulaire.html
    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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans nom</title>
    </head>
    <body>
    <form action="mail.php" method="post">
    Nom<input type="text" name="nom"><br>
    Prenom<input type="text" name="prenom"><br>
    Adresse<input type="text" name="adresse"><br>
    Ville<input type="text" name="ville"><br>
    Cp<input type="text" name="cp"><br>
    email<input type="text" name="email"><br>
    Login<input type="text" name="login"><br>
    Mot De Pass<input type="password" name="pass"><br>
    <input type="submit" name="envoyer" value="Envoyer">
    </form>
    et un mail.php
    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
    <?
    if (!isset($_POST["send"])){
    // Si le formulaire n'a pas été envoyé, on l'affiche
     
    $Nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $adresse=$_POST['adresse'];
    $ville=$_POST['ville'];
    $cp=$_POST['cp'];
    $email=$_POST['email'];
    $login=$_POST['login'];
    $pass=$_POST['pass'];
    ?>
     
    <form method="POST" action="">
    <?
     
    echo "confirmation de vos données elles sont bien <br>";
    echo "Nom $nom <br>";
    echo "Prenom $prenom <br>";
    echo "Adresse $adresse <br>";
    echo "Ville $ville <br>";
    echo "Cp $cp <br>";
    echo "Mail $email <br>";
    echo "Mot de pass $pass <br>";
    $from='toto';
    ?>
    <input type="submit" name="send" value="Envoyer">
    </form>
    <?
    }else{
    // Si le formulaire a été envoyé
    $from="toto.com";
     
    // On envoi le mail :
    if (mail($email,$_POST["nom"],$_POST["prenom"],"From: $from\n"))   ligne 36
    {
    // Si le mail a bien été envoyé, message de confirmation
    echo "vous avez recu un email a l'adresse $to veuillez le consulez pour terminer votre inscription.<br>";
    }else{
    // sinon, message d'erreur.
    echo "Votre mail n\'a pas pu être envoyé.<br>";
    }
    }
     
    ?>
    mail.php a pour fonction d'envoyer les valeurs des champs
    a l'adresse email indique dans formulaire

    et voila la reponse que j'ai tout le temps
    Warning: mail(): Invalid mail. to = [] in /var/www/free.fr/4/d/nebi/php/mail.php on line 36

    </body>
    </html>

  2. #2
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    Voilà une erreur étrange.

    Cela n'a rien à voir, mais pourquoi passes-tu la variable $_POST["nom"] comme sujet du mail, et $_POST["prenom"] comme message du mail ?

    De plus un coup tu fais :

    $Nom=$_POST['nom'];
    Puis :

    echo "Nom $nom <br>";
    Que contient au final la variable $email ???

    Bref, beaucoup de confusion là dedans...
    Consultant idéaliste.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    La variable email contient l'email entrée dans le champs email par l'internaute

    Salut, En fait voila se que j'essai de faire

    1/ on rempli le formulaire
    2/ les valeurs du formulaire son envoyer par mail avec la fonction mail
    3/ on valide un lien dans le mail qui amène a un page (insert.php)
    4/ insert.php une fois valider écris le contenu des champs dans un table

    Je fait du php depuis quelques jours alors je suis un peu perdu
    Si tu saurai faire se don j'ai besoin et si tu peut m’aider, alors SVP pas a pas.

    Merci.

  4. #4
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    de ce que je sais (à moins que cela ait changé, mais ça m'étonnerait...) la fonction mail() de PHP est désactivée chez l'hebergeur Free

    il existe cependant des solutions pour envoyer des mails depuis un script. faire une recherche sur google et ce forum devrait t'aider à en trouver.

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Il me semble que la fonction mail() est en effet désactivée chez Free.fr, mais le message d'erreur que tu nous donne ne le suggère pas.
    Autre chose : pourquoi conserves-tu tes variables $_POST dans des variables locales si tu utilises ensuite les variables $_POST ?

  6. #6
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 237
    Points
    8 237
    Par défaut
    la fonction mail est dispo chez free
    http://faq.free.fr/adsl/4/9/3/2

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    pourquoi conserves-tu tes variables $_POST dans des variables locales si tu utilises ensuite les variables $_POST ?
    je sais pas je debute ,

    Alors svp dite moi comment faire et pourquoi le faire de cette maniére , vos reponses seront plus affutés comme sa , parceque la fonction mail fonctionne chez free , le script pour un envoi de mail simple marche tres bien , c'est le fait d'essayer d'integré et d'envoyer les valeurs du formulaire qui fonctionne pas

    voila se que je veux faire

    Salut, En fait voila se que j'essai de faire

    1/ on rempli le formulaire
    2/ les valeurs du formulaire son envoyer par mail avec la fonction mail
    3/ on valide un lien dans le mail qui amène a un page (insert.php)
    4/ insert.php une fois valider écris le contenu des champs dans un table

    Je fait du php depuis quelques jours alors je suis un peu perdu
    Si tu saurai faire se don j'ai besoin et si tu peut m’aider, alors SVP pas a pas.

    Merci.

    formulaire.html page 1
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Document sans nom</title>
    </head>
    <body>
    <form action="mail.php" method="post">
    Nom<input type="text" name="nom"><br>
    Prenom<input type="text" name="prenom"><br>
    Adresse<input type="text" name="adresse"><br>
    Ville<input type="text" name="ville"><br>
    Cp<input type="text" name="cp"><br>
    email<input type="text" name="email"><br>
    Login<input type="text" name="login"><br>
    Mot De Pass<input type="password" name="pass"><br>
    <input type="submit" name="envoyer" value="Envoyer">
    </form>
    </body>
    </html>


    mail.php (page 2)
    <?
    if (!isset($_POST["send"])){
    // Si le formulaire n'a pas été envoyé, on l'affiche
    $nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $adresse=$_POST['adresse'];
    $ville=$_POST['ville'];
    $cp=$_POST['cp'];
    $email=$_POST['email'];
    $login=$_POST['login'];
    $pass=$_POST['pass'];
    ?>

    <form method="POST" action="">
    <?

    echo "confirmation de vos données elles sont bien <br>";
    echo "Nom $nom <br>";
    echo "Prenom $prenom <br>";
    echo "Adresse $adresse <br>";
    echo "Ville $ville <br>";
    echo "Cp $cp <br>";
    echo "Mail $email <br>";
    echo "Mot de pass $pass <br>";

    $from="toto";
    $sujet="validation de votre inscription";
    $message="dddddddddd";
    ?>
    <input type="submit" name="send" value="Envoyer">
    </form>
    <?


    }else{
    // Si le formulaire a été envoyé


    // On envoi le mail :
    if (mail($email,$_POST["sujet"],$_POST["message"],"From: $from\n")){ la ligne 41

    // Si le mail a bien été envoyé, message de confirmation
    echo "vous avez recu un email a l'adresse $to veuillez le consulez pour terminer votre inscription.<br>";
    }else{
    // sinon, message d'erreur.
    echo "Votre mail n\'a pas pu être envoyé.<br>";
    }
    }

    ?>


    l'erreur
    Warning: mail(): Invalid mail. to = [] in /var/www/free.fr/4/d/nebilpro/php/mail.php on line 41

  8. #8
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    il va peut-être falloir passer par une étape apprentissage du PHP si tu veux écrire des scripts... >> http://php.developpez.com/cours/

    parce que là, c'est vrai que tu envoies n'importe quoi dans ton mail....
    donc la fonction mail envoie basiquement :
    mail ("destinataire","sujet","message");
    commence par essayer un mail simple genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (mail("tonadresse@email","test","ceci est un test")) {
    si ça fonctionne normalement, affiches tes variables à l'écran pour comprendre ce que tu cherches à envoyer qui fait que cela ne fonctionne pas...

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    une fois le formulaire validez la page mail m'affiche bien les valeurs des champs jusqu'a la ya pas de pb , c'est apres
    sinon j'ai le script simple d'envoi de mail qui fonctionne mon probleme c'est juste d'intégré dans le corp du message les valeurs des champs récupéré.

    $to="xxxxxxxxxxx.fr";
    if (!isset($_POST["send"])){
    // Si le formulaire n'a pas été envoyé, on l'affiche
    ?>
    <form method="POST" action="">
    De: <input type="text" name="expediteur"><br>
    Sujet : <input type="text" name="sujet"><br>
    Message : <br><br><textarea name="message" rows="10" cols="60" lines="20"></textarea><br>
    <input type="submit" name="send" value="Envoyer">
    </form>
    <?
    }else{
    // Si le formulaire a été envoyé
    $from=$_POST["expediteur"];
    // On envoi le mail :
    if (mail($to,$_POST["sujet"],$_POST["message"],"From: $from\n")){
    // Si le mail a bien été envoyé, message de confirmation
    echo "Votre mail a bien été envoyé à $to.<br>";
    }else{
    // sinon, message d'erreur.
    echo "Votre mail n\'a pas pu être envoyé.<br>";
    }
    }
    ?>

  10. #10
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    essaies d'afficher le contenu de la superglobale $_POST, cela t'aiguillera certainement sur ce qui cloche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<pre>";
    print_r($_POST);
    echo "</pre>";

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    une fois formulaire.html validez voila se que j'ai a l'ecran

    confirmation de vos données elles sont bien
    Nom toto
    Prenom titi
    Adresse ddddd
    Ville popopop
    Cp 72500
    Mail xxxxxxx@free.fr
    Mot de pass aaa

    Array
    (
    [nom] => toto
    [prenom] => titi
    [adresse] => ddddd
    [ville] => popopop
    [cp] => 72500
    [email] => xxxxxxx@free.fr
    [login] => gege
    [pass] => aaa
    [envoyer] => Envoyer
    )

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

Discussions similaires

  1. [WD14] Assemblage System.Net.Mail erreur d'envoi de mail.
    Par jimmypage dans le forum WinDev
    Réponses: 2
    Dernier message: 29/02/2012, 11h30
  2. [Mail] Erreur d'envoi de mail en local
    Par tonton54 dans le forum Langage
    Réponses: 2
    Dernier message: 28/10/2008, 15h18
  3. [PEAR][Mail] Erreur d'envoi via sendmail
    Par zakaria_ dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 25/05/2007, 18h10
  4. [Mail] Erreur lors de l'envoi de mail
    Par PAYASS59 dans le forum Langage
    Réponses: 1
    Dernier message: 11/05/2006, 14h34
  5. [VB6]erreur d'envoie mail, pourquoi??
    Par riesseg dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/05/2006, 14h43

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