Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
715 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  envoi mail problème

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

envoi mail problème

n°1718491
deviltuner
here is the hell!!!
Posté le 16-04-2008 à 13:01:29  profilanswer
 

helloo à tous voilà j'ai voulu faire un formulaire et j'ai un soucci pour envoyer le mail.
voilà le code
 

Code :
  1. <form action="mailto:monmail@gmail.com" method="post"
  2. enctype="text/plain" name="mail">  <br>
  3. <br>pseudo<br>
  4. <input name="votre pseudo"><br>
  5.   <br>password</br>
  6. <input type="password" name="votrepassword" size="40" maxlength="256">
  7. <input type="submit" value="envoyer">
  8. </form>


 
comme vous le voyez l'adresse où je veux que le formulaire soit envoyé est une gmail. le problème c'est que auand je clique sur envoyer celui-ci me lance outlook en me demandant si je veux oui ou non accepter l'envoi des données...L. en cliquant sur oui accepter c'est niquel ça l'envoi bien et tout et ça arrive direct dans boite de réception même pas dans les spam. mais ce que j'aimerais faire c'est comme sur d'autre site où dès qu'on appuie sur le bouton envoyé ben que c'est envoyer qu'il ne faut pas apsser par la messagerie par défaut.
 
pour info je suis sur ifrance....peut-être que ça pourra aider :D
merci


---------------
HERE IS THE HELL
mood
Publicité
Posté le 16-04-2008 à 13:01:29  profilanswer
 

n°1718506
masterpsx
Aigloun foutougrafe
Posté le 16-04-2008 à 13:05:37  profilanswer
 

C'est un simple formulaire html ca, si tu veut envoyer un email sans passer par le logiciel de messagerie, il faut créer ou utiliser un script php utilisant la fonction mail()

n°1718516
deviltuner
here is the hell!!!
Posté le 16-04-2008 à 13:10:21  profilanswer
 

en fait avant j'avais un script en php de deux page un avec le formulaire l'autre qui servait quand on cliquait sur envoyer... mais ça foirait aussi....
 
en fait j'esseye de trouver un truc simple parce que je doit dire je connais psa mal sur le html mais pas tellemetn sur le php.... et la fonction mail je vais me renseigner car je comprend pas trop :(


---------------
HERE IS THE HELL
n°1718524
deviltuner
here is the hell!!!
Posté le 16-04-2008 à 13:17:50  profilanswer
 

je viens de trouver ça aussi mais je ne sais pas si ça fonction,nera avec un gmail;;
 
alors le formulaire
 

Code :
  1. <HTML>
  2. <HEAD>
  3. <TITLE>E-Mail Form</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <FORM method="POST" action="do_sendform.php">
  7. <P>Your Name:<br>
  8. <INPUT type="text" name="sender_name" size=30>
  9. </p>
  10. <P>Your E-Mail Address:<br>
  11. <INPUT type="text" name="sender_email" size=30>
  12. </p>
  13. <P>Message:<br>
  14. <textarea name="message" cols=30 rows=5></textarea>
  15. </p><INPUT type="submit" value="Send This Form">
  16. </FORM>
  17. </BODY>
  18. </HTML>


 
le script quand on clique sur send thsi form

Code :
  1. <?php
  2. $msg = "Sender Name:\t$sender_name\n";
  3. $msg .= "Sender E-Mail:\t$sender_email\n";
  4. $msg .= "Message:\t$message\n\n";
  5. $recipient = "you@youremail.com";
  6. $subject = "Web Site Feedback";
  7. $mailheaders = "From: My Web Site <> \n";
  8. $mailheaders .= "Reply-To: $sender_email\n\n";
  9. mail($recipient, $subject, $msg, $mailheaders);
  10. echo "<HTML><HEAD>";
  11. echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
  12. echo "<H1 align=center>Thank You, $sender_name</H1>";
  13. echo "<P align=center>";
  14. echo "Your feedback has been sent.</P>";
  15. echo "</BODY></HTML>";
  16. ?>


 
le prob c'est que ça marche bine il met après message envoyer mais pas dans ma boite mail ni dans les spam....


Message édité par deviltuner le 16-04-2008 à 13:28:17

---------------
HERE IS THE HELL
n°1718541
wrksx
Posté le 16-04-2008 à 13:35:33  profilanswer
 

ca a l'air plutot pas mal... comme tu voi c'est la fonction mail de php qui est utilisée... C'est le fonctionnement décrit plus haut par nazztazz.
 
Par contre c'est quoi le problème avec gmail ? je comprend pas. Cette fonction envoie des mails, peu importe le serveur qui les reçois !
 
et aussi il faudra ajouter des lignes en haut de ton script, du genre:
 
$sender_name = $_POST['sender_name'];
 
idem pour $sender_email et $message... Ca permet de recuperer le contenu des champs de ton formulaire html(envoyé ac la methode 'post') dans des variables php.
 
NAZZTAZZ à dit: "Attention cependant, a ce que les visiteurs puissent pas rajouter d'en-tetes au mail, sinon ton formulaire va vite servir de relais spam."

n°1718549
deviltuner
here is the hell!!!
Posté le 16-04-2008 à 13:46:22  profilanswer
 

oui oui pr le truc du spam mais une chose à la fois lool
 
alors si je comrpends bien suffit de rajouter = $_POST['sender_name'];  pour name et ausi pour les autre (email et message) et ça devrait passer?
 
parce que ici j'ai tester et je reçoit absolument rien même pas un message vide.  
 


---------------
HERE IS THE HELL
n°1718579
wrksx
Posté le 16-04-2008 à 14:01:06  profilanswer
 

tu travail en local ou sur un serveur distant ? Recopie ton nouveau code pour voir...

n°1718585
deviltuner
here is the hell!!!
Posté le 16-04-2008 à 14:10:55  profilanswer
 

je suis sur ifrance ;) je vais tester


---------------
HERE IS THE HELL
n°1718592
deviltuner
here is the hell!!!
Posté le 16-04-2008 à 14:19:54  profilanswer
 

ai lieu de message c'est devenu password c'est plus simple ;)
 

Code :
  1. <?php
  2. $msg = "Sender Name:\t$sender_name = $_POST['sender_name'];
  3. $msg .= "Sender E-Mail:\t$sender_email = $_POST['sender_mail']; 
  4. $msg .= "Message:\t$sender_password = $_POST['sender_password'];
  5. $recipient = "mon mail@gmail;com";
  6. $subject = "Web Site Feedback";
  7. $mailheaders = "From: My Web Site <> \n";
  8. $mailheaders .= "Reply-To: $sender_email\n\n";
  9. mail($recipient, $subject, $msg, $mailheaders);
  10. echo "<HTML><HEAD>";
  11. echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
  12. echo "<H1 align=center>Thank You, $sender_name</H1>";
  13. echo "<P align=center>";
  14. echo "Your feedback has been sent.</P>";
  15. echo "</BODY></HTML>";
  16. ?>


arf erreur ligne 3
 
pourquoi il me met les "[" en un autre couleur mon editeur j'ai mis pourtant le même.... et sender email aussi??? et le "." avant le = du premier $msg c'est noraml qu'il est manquant?


Message édité par deviltuner le 16-04-2008 à 14:23:02

---------------
HERE IS THE HELL
n°1718600
Melendril
Posté le 16-04-2008 à 14:28:58  profilanswer
 

Salut,
 
Puisque que visiblement tu ne connais pas le php, j'ai corrigé ton code.
 

Code :
  1. <?php
  2. $msg = "Sender Name:\t" . $_POST['sender_name'];
  3. $msg .= "Sender E-Mail:\t" . $_POST['sender_mail'];
  4. $msg .= "Message:\t" . $_POST['sender_password'];
  5. $recipient = "mon mail@gmail.com";
  6. $subject = "Web Site Feedback";
  7. $mailheaders = "From: My Web Site <> \n";
  8. mail($recipient, $subject, $msg, $mailheaders);
  9. echo "<HTML><HEAD>";
  10. echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
  11. echo "<H1 align=center>Thank You, " . $_POST['sender_name'] . "</H1>";
  12. echo "<P align=center>";
  13. echo "Your feedback has been sent.</P>";
  14. echo "</BODY></HTML>";
  15. ?>


 
Si cela t'intéresse, procure toi un livre ou un tutoriel pour du php. Tu pourras rapidement trouver tes erreurs et les corriger par toi même. Sinon, je te déconseille de copier coller du code depuis le web sans le comprendre, ceux ci peuvent contenir des failles qui risquent de t'apporter beaucoup d'ennuis
 
EDIT j'ai supprimé la ligne 12 car elle contenait une faille pouvant transformer ton formulaire en relais spam.
 
RE EDIT Corection de la petite erreur de syntaxe


Message édité par Melendril le 16-04-2008 à 15:15:09
mood
Publicité
Posté le 16-04-2008 à 14:28:58  profilanswer
 

n°1718616
deviltuner
here is the hell!!!
Posté le 16-04-2008 à 14:51:00  profilanswer
 

ok merci beacoup ben, en fait je vais te dire que je suis en train de m'instruire sur le net via php lool je me dit que c'est bien si je connais plus que le bête html basic ^^
 
 
mince j'ai un blem à la ligne 5 maintenant....snif
 

Citation :

Parse error: syntax error, unexpected '=' in /www/sites/1/ifrance.com/d/e/????/site/envoyer.php on line 5


Message édité par deviltuner le 16-04-2008 à 14:51:44

---------------
HERE IS THE HELL
n°1718630
Melendril
Posté le 16-04-2008 à 15:12:31  profilanswer
 

Oups erreur de ma part. Remplace le '=' par un '.'

n°1718718
deviltuner
here is the hell!!!
Posté le 16-04-2008 à 17:45:31  profilanswer
 

je suis désolé mais la maintenant il me dit qu'il y a une erreur à la ligne 2.... décidement.... c'est pas parce que dans un cas on parle de email et de l'autre mail???
 
dans le code un on a mis email. puis quand tu as ajouter les $_post c'est devenu mail. alors moi j'ai remplacer dans le premier code le sender_email par sender_mail vu que je pense qu'ainsi c'est correct mais non.... erreur ligne2...snif :'(
 
mon premier code html étant

Code :
  1. <HTML>
  2. <HEAD>
  3. <TITLE>E-Mail Form</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <FORM method="POST" action="envoyer.php">
  7. <P>pseudo:<br>
  8. <INPUT type="text" name="sender_name" size=30>
  9. </p>
  10. <P>email:<br>
  11. <INPUT type="text" name="sender_mail" size=30>
  12. </p>
  13. <P>password<br>
  14. <INPUT type="password" name="sender_password" size=30>
  15. </p><INPUT type="submit" value="envoyer">
  16. </FORM>
  17. </BODY>
  18. </HTML>


Message édité par deviltuner le 16-04-2008 à 17:47:23

---------------
HERE IS THE HELL
n°1718746
Melendril
Posté le 16-04-2008 à 18:40:03  profilanswer
 

Salut,
 
J'ai refait le test en copiant le code PHP que j'ai corrigé et le code html que tu viens de montrer, c'est OK.
 
Vérifie que tu bien les bonnes versions, si cela ne marche toujours pas, poste le code des 2 pages.

n°1718777
deviltuner
here is the hell!!!
Posté le 16-04-2008 à 19:33:28  profilanswer
 

bon faut pas chercher à comprendre maintenant j'ai bien le mesage "thank you your...." ça ça va mais le problème c'est que je ne reçois rien..... snif :'( quand c'est pas un truc c'est un autre.... pour info j'utilise une adresse gmail sur ifrance je sais pas si ça passe?
 
 
EDIT: j'ai essaier avec l'adresse mail que fourni ifrance (...@ifrance.com) ben ça fontcionne pas non plus.... il faut jsute que je change mon mail@gmail.com dans le script quand même?


Message édité par deviltuner le 16-04-2008 à 19:39:42

---------------
HERE IS THE HELL
n°1718822
wrksx
Posté le 16-04-2008 à 21:24:21  profilanswer
 

as tu_ verifié dans les msg indesirable?
certains fournisseurs bloquent les mail si le sujet est 'test' etc...

n°1718825
deviltuner
here is the hell!!!
Posté le 16-04-2008 à 21:41:20  profilanswer
 

oui oui tout partout dans les spam dans les indésirables dans la bt de réception partout et rien du tout pour les deux adresses la gmail et l'ifrance....
 
mes fichiers je les ai appeller "formulaire"(htm) et "envoyer"(php)


Message édité par deviltuner le 16-04-2008 à 21:43:05

---------------
HERE IS THE HELL
n°1718946
wrksx
Posté le 17-04-2008 à 09:18:46  profilanswer
 

La fonction mail a besoin de savoir quel serveur smtp elle va utiliser. et cela se configure... dans php.ini auquel tu n'as pas accès.
 
essaye d'ajouter:
 
error_reporting(E_ALL);
 
et ce au début de ton fichier php, puis re test le tout, peut être affichera t'il une erreur maintenant...

n°1719546
deviltuner
here is the hell!!!
Posté le 17-04-2008 à 23:27:49  profilanswer
 

hello ben j'ai mis la fonction error_reporting(E_ALL); juste après le <?php et ça fonctionne toujours pas ni pour l'adresse mail ifrance ni pour celle de gmail.


---------------
HERE IS THE HELL
n°1719835
wrksx
Posté le 18-04-2008 à 13:10:50  profilanswer
 

deviltuner a écrit :

hello ben j'ai mis la fonction error_reporting(E_ALL); juste après le <?php et ça fonctionne toujours pas ni pour l'adresse mail ifrance ni pour celle de gmail.


 
et ça n'affiche pas d'erreur ?
 
tiens essaye ça et dit moi ce qui s'affiche....
 
code php:
 

Code :
  1. <?php
  2. error_reporting(E_ALL);
  3. if ( isset( $_POST['pseudo'] ) )
  4. {
  5. $pseudo = $_POST['pseudo'];
  6. }else{
  7. die ('pas de pseudo');
  8. }
  9. if ( isset( $_POST['sender_mail'] ) )
  10. {
  11. $expediteur = $_POST['sender_mail'];
  12. }else{
  13. die ('pas de mail');
  14. }
  15. if ( isset( $_POST['contenu'] ) )
  16. {
  17. $contenu = $_POST['contenu'];
  18. }else{
  19. die ('pas de contenu');
  20. }
  21. $destinataire = 'inscrit ton adresse mail ici'; //pas de /n a la fin de la ligne
  22. $sujet = 'Web Site Feedback: test';
  23. $mailheaders = 'From: My Web Site\n';
  24. $msg = 'Sender Name:\t'.$pseudo;
  25. $msg .= 'Sender E-Mail:\t'.$destinataire;
  26. $msg .= 'Message:\t'.$contenu;
  27. if ( mail($destinataire, $sujet, $msg, $mailheaders) )
  28. {
  29. ?><HTML>
  30. <HEAD>
  31. <TITLE>Form Sent!</TITLE>
  32. </HEAD>
  33. <BODY>
  34. <H1 align=center>Thank You, <?php echo $pseudo ?></H1>
  35. <P align=center>
  36. Your feedback has been sent.</P>
  37. </BODY>
  38. </HTML><?php
  39. } else {
  40. ?><HTML>
  41. <HEAD>
  42. <TITLE>Form not Sent !!</TITLE>
  43. </HEAD>
  44. <BODY>
  45. <H1 align=center>Sorry, <?php echo $pseudo ?></H1>
  46. <P align=center>
  47. Your feedback has <strong>NOT</strong> been sent.</P>
  48. </BODY>
  49. </HTML><?php
  50. }
  51. ?>


 
code html:
 

Code :
  1. <HTML>
  2. <HEAD>
  3. <TITLE>E-Mail Form</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <FORM method="POST" action="ici tu met le nom de ta page php">
  7. <P>pseudo:<br>
  8. <INPUT type="text" name="pseudo" size=30>
  9. </p>
  10. <P>email:<br>
  11. <INPUT type="text" name="sender_mail" size=30>
  12. </p>
  13. <P>contenu<br>
  14. <INPUT type="text" name="contenu" size=30>
  15. </p><INPUT type="submit" value="envoyer">
  16. </FORM>
  17. </BODY>
  18. </HTML>


 
edit:
voici ce que dit mon bouquin (php 5 avancé, chez Eyrolles)
 

Citation :


    Suite à des abus [...], sur certains hébergements mutualisé, la fonction mail() est soit remplacée, soit recodée, soit tout simplement enlevée. En cas de soucis, regardez la documentation ou la FAQ de votre hébergeur.


 
je me dit que c'est ptete ce qu'il t'arrive ...


Message édité par wrksx le 18-04-2008 à 13:18:44
n°1719996
deviltuner
here is the hell!!!
Posté le 18-04-2008 à 16:53:44  profilanswer
 

hello bonj'ai aps su le etser sur ifrance parce que le ftp marche plus pour le moemnt on dirait qu'ils sont en maintenance enfin soit je l'ai tester sur un ancien site et voilà ce qu'il marque  
500 phpwrapper internal error : ERR_MISSING_CGI_PRIVILEGE (45)
 
mais étatn donner que je ne l'ai aps tester sur ifrance... faut peut-être attendre que je reposte par après avoir tester sur ifrance.


---------------
HERE IS THE HELL
n°1720001
wrksx
Posté le 18-04-2008 à 17:00:37  profilanswer
 

ceci doit signifier que ton hébergeur n'autorise pas mail() amha.

n°1720648
deviltuner
here is the hell!!!
Posté le 20-04-2008 à 21:12:51  profilanswer
 

amha??
 
chouette :( et je fais quoi alors???


---------------
HERE IS THE HELL
n°1720674
CyberDenix
Posté le 20-04-2008 à 22:02:48  profilanswer
 

Et bien tu fais une recherche sur google du style : php socket mail.
Il y a quelques magnifiques fonctions toutes faites.
 
En plus tu verras comment l'e-mail est envoyé techniquement, c'est très instructif. :)


Message édité par CyberDenix le 20-04-2008 à 22:04:21

---------------
Directeur Technique (CTO)
n°1720681
deviltuner
here is the hell!!!
Posté le 20-04-2008 à 22:40:13  profilanswer
 

euh oui mais encore.... je comrpends rien à tous ça moi... lool


---------------
HERE IS THE HELL
n°1720924
wrksx
Posté le 21-04-2008 à 12:20:59  profilanswer
 

...  :heink:  
 
ben la fonction que tu utilisais, 'mail()', utilise elle même les sockets réseaux, mais comme elle est bloquée par ton hébergeur tu doi créer une autre fonction comme 'ma_fonction_mail()' qui se chargera de poster ton mail.
 
ce que te conseillais cyberdenix c'est chercher sur un site de sources si tu peu trouver une fonction toute faite qui fasse l'affaire (si tu cherche, tu trouvera a coup sûr...).
 
PS: un socket c'est une sorte de canal de communication ouvert entre 2 machines, et pour envoyer un mail tu va devoir te connecter a un serveur (smtp en l'occurrence) ce qui implique l'ouverture d'un socket entre toi et le serveur. Ensuite tu peu envoyer des données par le socket, et le serveur peu repondre également. Si tu comprend rien, tu devrai lire un peu sur TCP/IP, les sockets, et autres petites chose des réseaux informatiques.

n°1720943
deviltuner
here is the hell!!!
Posté le 21-04-2008 à 12:56:39  profilanswer
 

cyberdenix  ?? c'est aps un site ça??
 
et crer ça propre fonction mouè facile à dire ça lool:D


---------------
HERE IS THE HELL
n°1720952
wrksx
Posté le 21-04-2008 à 13:18:39  profilanswer
 

cyberdenix est le pseudo d'une personne qui voulait t'aider. et il t'as dit:
 

Citation :

 Et bien tu fais une recherche sur google du style : php socket mail.
Il y a quelques magnifiques fonctions toutes faites.


 
tu devrai mettre un peu du tien et voir comment fonctionne php si tu veu t'en servir. Créer une fonction est quelque chose d'enfantin, sutout en php.
 
voici comment tu peu proceder pour créer ta propre fonction:
 


function is_deviltuner ($pseudo)
    {
 
     if ($pseudo === 'deviltuner')
          {
          return true;
          } else {
          return false;
          }
    }


 
voila ensuite tu pourra utiliser ta fonction dans ton code comme n'importe quelle autre fonction...
 


 
$test = is_deviltuner ($pseudo);
 
 


 
mais tu aurai pu trouver tout seul, c'est très documenté comme sujet et il doi y avoir de nombreux post sur hfr a ce propos.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  envoi mail problème

 

Sujets relatifs
Problème d'envoi de mail avec pièce jointeProbleme envoi de mail PHP
Probleme envoi mail htmlenvoi de mail avec lotus notes 6.5.1 - probleme de formattage
Problème envoi mailprobleme envoi mail avec php
[Résolu] [VB]problème avec envoi de mail sous VBPHP : problème d'envoi de mail + piece jointe sur Wanadoo
Problème envoi mail avec fonction mail() [Résolu]Problème d'envoi mail
Plus de sujets relatifs à : envoi mail problème


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR