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] envoyer un mail avec les données d'un formulaire


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut [Mail] envoyer un mail avec les données d'un formulaire
    Bonjour,
    Est ce que quelqu'un pourrait me dire si mon petit script php est correct. Je l'ai adapté d'un tuto parce que je m'y connais pas en prog. Bon alors ça ne marche pas. J'ai pourtant debloqué la fonction php de mon hebergeur, bien nomé mes variable dans flash et apelé le fichier php avec un Post dans flash. Donc tout ce déroule bien sauf que je n'ai pas de message.
    Bon la j'ai mis une fausse adresse. (peur du spam).
    Merci merci.


    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
    <?php
    $email = "truc@truc.com"; 
    $nomu= $_POST["nomu"];
    $mailu= $_POST["mailu"];
    $sujetu= $_POST["sujetu"];
    $msgu= $_POST["msgu"];
     
    $message =
    "Nom : ".$nomu."
    mail utilisateur : ".$mailu."
    sujet_mail: ".$sujetu."
    texte: ".$msgu;
     
     
    mail($email, "Mail automatique", $message , "pbe");
    ?>

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 88
    Points : 107
    Points
    107
    Par défaut
    un echo de $message te donne quoi?

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Heu comment je peux avoir un echo de mon message?

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Points : 220
    Points
    220
    Par défaut
    certains hébergeur ne permettent pas d'envoyer un mail par php, c'est peut etre le cas pour toi.

    ton script à l'air correct à part le "pbe" dans la fonction mail que personnellement je ne connais pas comme en-tete additionnelle.

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Mon hebergeur accepte les fichiers php. J'ai déverouillé cette fonction. D'ailleurs le fichier php est lu. IL est apelé par par un get url dans flash et ca a l'air de bien ce passer.
    Pour le pbe, ce n'ai pas une entete. La j'ai peu etre fait n'importe quoi.
    Dans le script original, il y avait un "from :". Mais ca me donnait un message d'erreur lors de l'envoi. Alors je l'ai retiré.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Points : 220
    Points
    220
    Par défaut
    donc "pbe" ne sert à rien, il faut carrement enlever ce parametre.
    ensuite, je parlais pas du fait de lancer du php, la plupart des hebergeurs le permettent, je parlais de la fonctionnalité "envoi d'email" qui n'est pas toujours disponible

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Je viens de retirer le parametre.

    j'ai ecrit ca:
    mail($email, "Mail automatique");

    Et ca me repond ça:
    Warning: Wrong parameter count for mail() in send.php on line 15

    Qu'en penses tu?
    Dois je remettre un parametre?
    Est ce que c'est une preuve que mon Hebergeur accepte la commande mail()?

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Oui evidemment j'ai retiré le $message.
    Je l'ai remis et c'est bon.
    Je vais demandé à l'hebergeur s'il prend la commande mail().

  9. #9
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    voila qui est fait.
    Est ce que mail() est une fonction réseau?

    Les fonctions autorisées / interdites
    Vous pouvez utiliser toutes les fonctions, sauf :
    - les fonctions réseaux
    - les fonctions SYSLOG
    - la possibilité de changer les options déclarées dans la Config PHP
    - les fonctions POSIX

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Points : 220
    Points
    220
    Par défaut
    je serais tenté de répondre oui dans le sens ou le mail est transféré à travers le réseaux.
    non dans le sens ou ca utilise un programme local qui lui utilise le réseau, donc le probleme reste entier...

    testes ta valeur de retour:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (mail($email, "Mail automatique"))
      echo "Mail accépté<br/>\n";
    else
      echo "Mail refusé<br/>\n";
    ca te donnera une indication

  11. #11
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Est bien ca fait "mail accepter"
    Ca veut bien dire que la commande mail() est ok? n'est pas?
    mmmh. bizard. j'ai verifié dix mon adresse mail.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    Oui ça veut dire que ta fonction mail fonctionne correctement, et que si tu remplace $email par ton adresse mail, tu devrais recevoir un mail avec pour sujet: Mail Automatique.

    Je pense que Spam et envoi mail avec PHP !
    pourrais t'aider, parce que la fonction mail ce sécurise.

  13. #13
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Humm. Pourquoi devrais-je remplacer $email avec mon email?
    J'ai defini a la premiere ligne

    $email = "edh@iiiha.com";

    Donc quand je fais mail(), c'est bon si je mets $email. non?

    Sinon j'ai essayé tes codes mais ca m'a mit plein de messages d'erreur. Le probleme c'est que je ne comprends pas preg_replace. Donc me voila bien bete.

    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
     
    <?php
     
    $nomu = preg_replace("\x00", "\x0a", "\x0d", "\x1a", "", $_POST['nomu']); 
    $mailu = preg_replace("\x00", "\x0a", "\x0d", "\x1a", "", $_POST['mailu']); 
    $sujetu = preg_replace("\x00", "\x0a", "\x0d", "\x1a", "", $_POST['sujetu']); 
    $gsmu = preg_replace("\x00", "\x0a", "\x0d", "\x1a", "", $_POST['gsmu']); 
     
     
     
    $messageToSend .= "\n";
    $messageToSend .= "Nom : ".addslashes($nomu)."\n";
    $messageToSend .= "Email : ".addslashes($mailu)."\n";
    $messageToSend .= "Sujet : ".addslashes($sujetu)."\n\n";
    $messageToSend .= "Message : ".addslashes($gsmu)."\n";
     
    // envoyer message
    $to = "edh@iiiha.com";
    $subject = "Formulaire de contact";
    $from = "From: ".addslashes($mailu)."\r\n";
     
    mail($to, $subject, $messageToSend, $from);
     
    ?>

    Euh . Je sais plus trop en j'en suis.

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (mail('ta@vraie_adresse_email.com', "Mail automatique"))
      echo "Mail accépté<br/>\n";
    else
      echo "Mail refusé<br/>\n";
    teste ça, normalement, tu devrais recevoir un mail...

    Si c'est le cas c'est bon la fonction mail fonctionne, après on verifira si ton code est sécurisé pour ne pas permettre à n'importe quoi de l'utilisé comme plateforme de spam

    excuse moi.

  15. #15
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Oui j'ai deja déja fait un echo. Mes mail sont acceptés.
    J'ai également changé ma variable $email avec mon adresse mail. Le mail est accepté egalement.
    J'en suis donc la.
    Je pense que mes codes sont correct.

    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
     
     
    <?php
    $email = "edh@iiiha.com";
    $nomu= $_POST["nomu"];
    $mailu= $_POST["mailu"];
    $sujetu= $_POST["sujetu"];
    $msgu= $_POST["msgu"];
     
    $message =
    "Nom : ".$nomu."
    mail utilisateur : ".$mailu."
    sujet_mail: ".$sujetu."
    texte: ".$msgu;
     
     
    mail($email, "Mail automatique", $message);
     
    if (mail($email, "Mail automatique", $message))
      echo "Mail accépté<br/>\n";
    else
      echo "Mail refusé<br/>\n";
    ?>
    Penses tu qu'il y a une histoire de code sécurisé?

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    mais en mettant ta vraie adresse email? as tu reçus un mail ayant pour Sujet 'Mail automatique'?

    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
    <?php
     
    $email = "edh@iiiha.com";
    $nomu= preg_replace("`\\\x00|\\\x0a|\\\x0d|\\\x1a`", "", addslashes($_POST["nomu"]));
    $mailu= preg_replace("`\\\x00|\\\x0a|\\\x0d|\\\x1a`", "", addslashes($_POST["mailu"]));
    $sujetu= preg_replace("`\\\x00|\\\x0a|\\\x0d|\\\x1a`", "", addslashes($_POST["sujetu"]));
    $msgu= preg_replace("`\\\x00|\\\x0a|\\\x0d|\\\x1a`", "", addslashes($_POST["msgu"]));
     
    $message = "Nom : ".$nomu;
    $message .= "mail utilisateur : ".$mailu;
    $message .= "sujet_mail: ".$sujetu;
    $message .= "texte: ".$msgu;
     
    if (mail($email, "Mail automatique > ".$sujetu, $message))
      echo "Mail envoyer.<br />\n";
    else
      echo "Impossible d'envoyer le mail.<br />\n";
     
    ?>
    Voilà, normalement ça devrait fonctionner.

  17. #17
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    J'ai un message d'erreur concernant ça:


    Warning: No ending delimiter '`' found in send2.php on line 4

    Warning: No ending delimiter '`' found in send2.php on line 5

    Warning: No ending delimiter '`' found in send2.php on line 6

    Warning: No ending delimiter '`' found in send2.php on line 7
    Mail envoyer.


    Cela dit. tous les mails que j'ai tenté d'envoyer depuis ce matin arrive à l'instant!!
    Donc je viens de recevoir une centaine de mail d'un coup!

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    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
    <?php
     
    $email = "edh@iiiha.com";
    $nomu= preg_replace("`\\x00|\\x0a|\\x0d|\\x1a`", "", addslashes($_POST["nomu"]));
    $mailu= preg_replace("`\\x00|\\x0a|\\x0d|\\x1a`", "", addslashes($_POST["mailu"]));
    $sujetu= preg_replace("`\\x00|\\x0a|\\x0d|\\x1a`", "", addslashes($_POST["sujetu"]));
    $msgu= preg_replace("`\\x00|\\x0a|\\x0d|\\x1a`", "", addslashes($_POST["msgu"]));
     
    $message = "Nom : ".$nomu;
    $message .= "mail utilisateur : ".$mailu;
    $message .= "sujet_mail: ".$sujetu;
    $message .= "texte: ".$msgu;
     
    if (mail($email, "Mail automatique > ".$sujetu, $message))
      echo "Mail envoyer.<br />\n";
    else
      echo "Impossible d'envoyer le mail.<br />\n";
     
    ?>
    Voilà, normalement ça devrait fonctionner. enfin cher moi ça marche :p

  19. #19
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    oui!
    Merci.
    Cette fois ca marche.
    Probleme résolu!
    Bonne soirée a toi

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    Merci toi aussi :p

    (si tu pouvais juste testé les caractères interdit, en remplacent les champs de saisie par des textarea et mettre des saut de ligne voir si ça affecte le script

    Bonne soirée à toi aussi :p

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 13
    Dernier message: 05/03/2018, 19h10
  2. [AC-2007] Imprimer un état avec les données d'un formulaire
    Par Bubulle232 dans le forum IHM
    Réponses: 1
    Dernier message: 17/01/2012, 13h37
  3. Envoyer mail et intégrer les données d'un formulaire dans Excel
    Par Delph46 dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 23/09/2011, 15h14
  4. Réponses: 2
    Dernier message: 12/05/2008, 21h51
  5. Réponses: 12
    Dernier message: 12/02/2007, 11h34

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