Se connecter / S'enregistrer
Votre question

Arrive pas a envoyé un mail php , heberge chez moi . FAI free

Tags :
  • Free
  • Programmation
Dernière réponse : dans Programmation
25 Mai 2010 18:41:49

Bonjour,

Voila sur mon site j'ai besoin d'envoyé des mails automatiquement (pour me contacter , pour renvoyé un mot de passe ou autre) . Mais ca ne marche pas , je ne reçois rien alors que je n'ai aucune erreur ! Voila le code

Php.ini

[mail function]
; For win32 only.
SMTP = smtp.free.fr
smtp_port = 25

; For win32 only
sendmail_from = Mon_adresse@free.fr




Httpd.conf

ServerAdmin Mon adresse@free.fr




Ensuite dans ma freebox , j'ai ouvert le port 25 et je les redirigé vers mon server port 25.

Et voila le code de la page

  1. <?php
  2. $headers ='From: "Moi"<Mon_adresse@free.fr>'."\n";
  3. $headers .='Reply-To: Mon_adresse@free.fr'."\n";
  4. $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
  5. $headers .='Content-Transfer-Encoding: 8bit';
  6.  
  7. if(mail('Mon_adresse@free.fr', 'Sujet', 'Message de test', $headers))
  8. {
  9. echo 'Le message a bien été envoyé';
  10. }
  11. else
  12. {
  13. echo 'Le message n\'a pu être envoyé';
  14. }
  15. ?>





Merci de m'aider j'ai vraiment besoin d'aide

Autres pages sur : arrive envoye mail php heberge fai free

25 Mai 2010 20:17:33

essaie de le faire sans les headers, ça doit surement être là !
m
0
l
25 Mai 2010 20:22:40

Je fais comment ? Enfin pouvez-vous SVP me donner le code
m
0
l
Contenus similaires
25 Mai 2010 20:31:10

Bien sur !

  1. 1. <?php
  2. 6.
  3. 7. if(mail('Mon_adresse@free.fr', 'Sujet', 'Message de test'))
  4. 8. {
  5. 9. echo 'Le message a bien été envoyé';
  6. 10. }
  7. 11. else
  8. 12. {
  9. 13. echo 'Le message n\'a pu être envoyé';
  10. 14. }
  11. 15. ?>
m
0
l
25 Mai 2010 20:42:46

Alors j'ai bien le message : "Le message a bien été envoyé"

Mais rien dans ma boite mail....Sinon c'est pas a cause de free qui bloque les courriels spam et les courriels de site son considéré comme spam ? Ou sinon une mauvaise configuration ?
m
0
l
25 Mai 2010 20:46:10

essaie sur une autre adresse, mais généralement, oui, quand on ne connait pas l'expéditeur et qu'un mail est suspet, il part au SPAM...

Mais bon, on sait que ça vient des headers !

J'y regarde après manger ;) 
m
0
l
25 Mai 2010 20:51:02

Merci , ou je peux accéder au SPAM sur ma boite free ?
m
0
l
25 Mai 2010 21:32:39

Aucune idée, Free, j'ai rien compris :p 
  1. $expediteur = 'Adresse_de_lexpediteur@fai.fr';
  2.  
  3. $entete = "MIME-Version: 1.0\r\n";
  4. $entete .= "Content-type: text/html; charset=\"UTF-8\"\r\n";
  5. $entete .= "From: <$expediteur>\r\n";
  6. $entete .= "Reply-To: $expediteur\r\n";
  7. if(mail('Mon_adresse@free.fr', 'Sujet', 'Message de test', $entete))
  8. {
  9. echo 'Le message a bien été envoyé';
  10. }
  11. else
  12. {
  13. echo 'Le message n\'a pu être envoyé';
  14. }


un exemple de header.
m
0
l
25 Mai 2010 21:36:23

Ok merci mais je fais comment alors pour mon problème ?
m
0
l
25 Mai 2010 21:42:14

Teste avec mes headers.

Les spam c'est en partie à cause des headers...
Donc si on mets les bons, plus de soucis !
m
0
l
25 Mai 2010 21:47:19

Non je ne reçois toujours rien
m
0
l
25 Mai 2010 21:57:26

Est-ce que ça fait "Message bien envoyé" ?

Teste avec d'autre adresse mail si c'est le cas...
m
0
l
25 Mai 2010 22:03:19

Oui ca m'envoie bien ca mais le problème c'est que avec les autres adresse mail , est-ce que il faut que je change aussi les php.ini et tout ?
m
0
l
25 Mai 2010 22:31:13

J'ai essayé avec hotmail et gmail et ça marche pas..... :( 
m
0
l
26 Mai 2010 18:14:34

up >< , svp je galère depuis plusieurs jour dessus
m
0
l
7 Juin 2010 15:54:37

Bonjour,

Tien voilà un exemple de code PHP pour la fonction mail. Tu peux la modifier.

Sur la page "formulaire.php"
  1. <form id="contact" method="post" action="traitement_formulaire.php">
  2. <?php
  3. mail("$email", "$objet", "$message" );
  4. ?>
  5. <fieldset><legend>Vos coordonnées</legend>
  6. <p><label for="nom">Prénom NOM:</label><input type="text" id="nom" name="nom" tabindex="1" /></p>
  7. <p><label for="email">Email :</label><input type="text" id="email" name="email" tabindex="2" /></p>
  8. </fieldset>
  9.  
  10. <fieldset><legend>Votre message :</legend>
  11.  
  12. <p><label for="objet">Objet :</label><input type="text" id="objet" name="objet" tabindex="3" /></p>
  13. <p><label for="message">Message :</label><textarea id="message" name="message" tabindex="4" cols="30" rows="8"></textarea></p>
  14. </fieldset>
  15.  
  16.  
  17. <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer" /><input type="reset" name="effacer" value="Effacer tout"/>


Et dans la page "traitement_formulaire.php"

  1. <?php
  2. /*
  3. ********************************************************************************************
  4. CONFIGURATION
  5. ********************************************************************************************
  6. */
  7. // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
  8. $destinataire = 'MONMAIL@DOMAINE.fr';
  9.  
  10. // copie ? (envoie une copie au visiteur)
  11. $copie = 'non'; // 'oui' ou 'non'
  12.  
  13. // Messages de confirmation du mail
  14. $message_envoye = "Votre mail a bien été envoyé à ADIE.fr, à bientôt <b>$nom</b> !";
  15. $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
  16.  
  17. // Messages d'erreur du formulaire
  18. $message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.php\">envoyer le formulaire</a>.";
  19. $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
  20.  
  21.  
  22. // on teste si le formulaire a été soumis
  23. if (!isset($_POST['envoi']))
  24. {
  25. // formulaire non envoyé
  26. echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
  27. }
  28. else
  29. {
  30. /*
  31. * cette fonction sert à nettoyer et enregistrer un texte
  32. */
  33. function Rec($text)
  34. {
  35. $text = trim($text); // delete white spaces after & before text
  36. if (1 === get_magic_quotes_gpc())
  37. {
  38. $stripslashes = create_function('$txt', 'return stripslashes($txt);');
  39. }
  40. else
  41. {
  42. $stripslashes = create_function('$txt', 'return $txt;');
  43. }
  44.  
  45. // magic quotes ?
  46. $text = $stripslashes($text);
  47. $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
  48. $text = nl2br($text);
  49. return $text;
  50. };
  51.  
  52. /*
  53. * Cette fonction sert à vérifier la syntaxe d'un email
  54. */
  55. function IsEmail($email)
  56. {
  57. $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
  58. return (eregi($pattern,$email)) ? true : false;
  59. };
  60.  
  61. // formulaire envoyé, on récupère tous les champs.
  62. $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
  63. $email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
  64. $objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
  65. $message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
  66.  
  67. // On va vérifier les variables et l'email ...
  68. $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
  69.  
  70. if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
  71. {
  72. // les 4 variables sont remplies, on génère puis envoie le mail
  73. $headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
  74.  
  75. // envoyer une copie au visiteur ?
  76. if ($copie == 'oui')
  77. {
  78. $cible = $destinataire.','.$email;
  79. }
  80. else
  81. {
  82. $cible = $destinataire;
  83. };
  84.  
  85. // Remplacement de certains caractères spéciaux
  86. $message = str_replace("'","'",$message);
  87. $message = str_replace("’","'",$message);
  88. $message = str_replace(""",'"',$message);
  89. $message = str_replace('<br>','',$message);
  90. $message = str_replace('<br />','',$message);
  91. $message = str_replace("<","<",$message);
  92. $message = str_replace(">",">",$message);
  93. $message = str_replace("&","&",$message);
  94.  
  95. // Envoi du mail
  96. if (mail($cible, $objet, $message, $headers))
  97. {
  98. echo '<p>'.$message_envoye.'</p>'."\n";
  99. }
  100. else
  101. {
  102. echo '<p>'.$message_non_envoye.'</p>'."\n";
  103. };
  104. }
  105. else
  106. {
  107. // une des 3 variables (ou plus) est vide ...
  108. echo '<p>'.$message_formulaire_invalide.' <a href="contact.php">Retour au formulaire</a></p>'."\n";
  109. };
  110. }; // fin du if (!isset($_POST['envoi']))
  111. ?>


Essai ça en modifiant certaines choses au passage si sa colle pas.

Cordialement :hello:  ;) 
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS