Expédié formulaire par courriel

Expédié formulaire par courriel - PHP - Programmation

Marsh Posté le 23-12-2006 à 15:10:36    

Bonjour,
 
Bon voilà, mon formulaire est ok, les données sont bien stocké mais je ne reçois rien pas courriel. la variable mailbody contient toutes les informations.
 
Merci de m'aider!
 

Code :
  1. <?
  2. $MailTo = "yvan.fournier@cgocable.ca";
  3. $MailSubject = "Offre de service";
  4. $MailHeader = $courriel;
  5. $MailBody = "Formulaire de réponse :\n"."<BR>";
  6. $MailBody .= "Nom : ".$_POST['nom']."\n";
  7. $MailBody .= "Prénom : ".$_POST['prenom']."\n"."<BR>";
  8. $MailBody .= "Sexe : ".$_POST['sexe']."\n"."<BR>";
  9. $MailBody .= "Age : ".$_POST['age']."\n"."<BR>";
  10. $MailBody .= "Adresse : ".$_POST['adresse']."\n"."<BR>";
  11. $MailBody .= "Ville : ".$_POST['ville']."\n"."<BR>";
  12. $MailBody .= "Code postal : ".$_POST['code']."\n"."<BR>";
  13. $MailBody .= "Téléphone (jour) : ".$_POST['tel_jour']."\n"."<BR>";
  14. $MailBody .= "Téléphone (soir) : ".$_POST['tel_soir']."\n"."<BR>";
  15. $MailBody .= "Téléphone (cell.) : ".$_POST['tel_cell']."\n"."<BR>";
  16. $MailBody .= "Courriel : ".$_POST['courriel']."\n"."<BR>";
  17. $MailBody .= "Formation académique : ".$_POST['f_academique']."\n"."<BR>";
  18. $MailBody .= "Formation d'entraîneur (PNCE) : ".$_POST['f_entraineur']."\n"."<BR>";
  19. $MailBody .= "Expérience de travail (excluant le soccer) : ".$_POST['exp_travail']."\n"."<BR>";
  20. $MailBody .= "Expérience de travail (soccer) : ".$_POST['exp_soccer']."\n"."<BR>";
  21. echo $MailBody;
  22. //if (!mail($MailTo, $MailSubject, $MailBody)) echo "Impossible d'envoyer le courriel";
  23. mail($MailTo, $MailSubject, $MailBody, $MailHeader);
  24. ?>


Message édité par fourniey le 27-12-2006 à 13:38:06
Reply

Marsh Posté le 23-12-2006 à 15:10:36   

Reply

Marsh Posté le 23-12-2006 à 18:48:41    

Je commence à avoir de sérieux doutes que c'est mon hébergeur qui empêche l'envoi de formulaire.
 
Comment puis-je savoir cela ?

Message cité 1 fois
Message édité par fourniey le 23-12-2006 à 18:48:58
Reply

Marsh Posté le 25-12-2006 à 16:40:45    

fourniey a écrit :

Je commence à avoir de sérieux doutes que c'est mon hébergeur qui empêche l'envoi de formulaire.
 
Comment puis-je savoir cela ?


 
 
essaye ce script, si ça marche pas soit sur que le pb chez votre hébergeur
 
/

Citation :

/ On initialise les variables
$destinataire = "personne@qui_recevra_le_mail.com";
$objet = «Premier test !» ;
$message = "C’est un premier test d’envoi d’un email en php.\n" ;
$message .= "Ceci est la forme la plus simple de l’emploi de la fonction mail() \n";
 
// On envoi l’email
if ( mail($destinataire, $objet, $message) ) echo "Envoi du mail réussi."
   else echo "Echec de l’envoi du mail."


 
bonne chance :wahoo:


---------------
Forums - Aide à la création de site web
Reply

Marsh Posté le 25-12-2006 à 16:57:22    

erreur ligne 11 et 16

Reply

Marsh Posté le 27-12-2006 à 07:32:15    

Quel hébergeur ? Quelle formule ?

Reply

Marsh Posté le 27-12-2006 à 13:41:32    

Jai regardé avec PHP.ini et j obtiens cela:
 
sendmail_from: novalue

Reply

Marsh Posté le 27-12-2006 à 13:45:04    

et le smtp du php.ini est bien configuré (le nom du serveur et le n° de port)?

Reply

Marsh Posté le 27-12-2006 à 13:53:17    

SMTP=localhost
 dans mon application, je n'ai pas ces paramètres sauf quand je me connecte pour ajouter les informations dans ma table et ça fonctionne bien!

Reply

Marsh Posté le 27-12-2006 à 13:56:51    

Y'a quoi dans la variable $courriel ?

Reply

Marsh Posté le 27-12-2006 à 14:04:36    

Le courriel de la personne qui envoie le formulaire.

Reply

Marsh Posté le 27-12-2006 à 14:04:36   

Reply

Marsh Posté le 27-12-2006 à 14:05:20    

Et elle sort d'où ? Est-elle reprise via post directement, y'a une vérif ?

Reply

Marsh Posté le 27-12-2006 à 16:26:16    

Je transferts tous ces champs dans ma table et tout est ok incluant le courriel.
 
Seul le transfert par courriel ne fonctionne pas.
 
if ($Envoi == 0) echo("<p>&nbsp;</p><p align=\"center\">
<strong>Page précédente de votre navigateur pour effectuer les ajustements</strong></p>" );  
 
if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
 $MailTo = "yvan.fournier@cgocable.ca";
 $MailSubject = "Offre de service";
 $MailHeader = $_POST['courriel'];
 $MailBody = "<b>Bonjour, votre formulaire a été envoyé à l'ATS</b> :\n"."<BR>"."<BR>";
 $MailBody .= "<b>Nom :</b> ".$_POST['nom']."\n"."<BR>";
 $MailBody .= "Prénom : ".$_POST['prenom']."\n"."<BR>";
 $MailBody .= "Sexe : ".$_POST['sexe']."\n"."<BR>";
 $MailBody .= "Age : ".$_POST['age']."\n"."<BR>";
 $MailBody .= "Adresse : ".$_POST['adresse']."\n"."<BR>";
 $MailBody .= "Ville : ".$_POST['ville']."\n"."<BR>";
 $MailBody .= "Code postal : ".$_POST['code']."\n"."<BR>";
 $MailBody .= "Téléphone (jour) : ".$_POST['tel_jour']."\n"."<BR>";
 $MailBody .= "Téléphone (soir) : ".$_POST['tel_soir']."\n"."<BR>";
 $MailBody .= "Téléphone (cell.) : ".$_POST['tel_cell']."\n"."<BR>";
 $MailBody .= "Courriel : ".$_POST['courriel']."\n"."<BR>";
 $MailBody .= "Formation académique : ".$_POST['f_academique']."\n"."<BR>";
 $MailBody .= "Formation entraîneur (PNCE) : ".$_POST['f_entraineur']."\n"."<BR>";
 $MailBody .= "Expérience de travail (excluant le soccer) : ".$_POST['exp_travail']."\n"."<BR>";
 $MailBody .= "Expérience de travail (soccer) : ".$_POST['exp_soccer']."\n"."<BR>";
 $MailBody .= "Dernière expérience (entraîneur) : ".$_POST['exp_entraineur']."\n"."<BR>";
 $MailBody .= "Expérience en tant que joueur : ".$_POST['exp_joueur']."\n"."<BR>";
 $MailBody .= "Commentaires : ".$_POST['commentaires']."\n"."<BR>";
 $MailBody .= "Références : ".$_POST['references']."\n"."<BR>";
 
 
 // Remplissage des zones à cocher
 if ($_POST['h_ats'] == "" ){
  $hats_choix="";
  }
 else {
  $chhats = $_POST['h_ats'];  //cases à cocher équipe
  $hats_choix = implode(', ',$chhats);
  $MailBody .= "Expérience (ATS) : ".$hats_choix."\n"."<BR>";  
 }  
 
 if ($_POST['type'] == "" ){
  $type_choix="";
  }
 else {
  $chtype = $_POST['type'];  //cases à cocher équipe
  $type_choix = implode(', ',$chtype);
  $MailBody .= "Type de poste : ".$type_choix."\n"."<BR>";  
 }  
 if ($_POST['disp'] == "" ){
  $disp_choix="";
  }
 else {
  $chdisp = $_POST['disp'];  //cases à cocher équipe
  $disp_choix = implode(', ',$chdisp);
  $MailBody .= "Disponibilité : ".$disp_choix."\n"."<BR>";  
 }  
 if ($_POST['p_tech'] == "" ){
  $ptech_choix="";
  }
 else {
  $ptech = $_POST['p_tech'];  //cases à cocher équipe
  $ptech_choix = implode(', ',$ptech);
  $MailBody .= "Poste technique désiré : ".$ptech_choix."\n"."<BR>";  
 }  
 if ($_POST['p_ent'] == "" ){
  $pent_choix="";
  }
 else {
  $pent = $_POST['p_ent'];  //cases à cocher équipe
  $pent_choix = implode(', ',$pent);
  $MailBody .= "Poste entraineur désiré : ".$pent_choix."\n"."<BR>";  
 }    
 if ($_POST['e_ligue'] == "" ){
  $eligue_choix="";
  }
 else {
  $eligue = $_POST['e_ligue'];  //cases à cocher ligue
  $eligue_choix = implode(', ',$eligue);
  $MailBody .= "Équipe désirée (Ligue) : ".$eligue_choix."\n"."<BR>";
 }  
 if ($_POST['e_sexe'] == "" ){
  $esexe_choix="";
  }
 else {
  $esexe = $_POST['e_sexe'];  //cases à cocher équipe
  $esexe_choix = implode(', ',$esexe);
  $MailBody .= "Équipe désirée (sexe) : ".$esexe_choix."\n"."<BR>";
 }  
 if ($_POST['e_cat'] == "" ){
  $ecat_choix="";
  }
 else {
  $ecat = $_POST['e_cat'];  //cases à cocher équipe
  $ecat_choix = implode(', ',$ecat);
  $MailBody .= "Équipe désirée (Catégorie) : ".$ecat_choix."\n"."<BR>";
 }  
 $MailBody .= "Accepterait autre poste (camp, atelier, évaluation etc.) : ".$_POST['autre_poste']."\n"."<BR>";  
 $MailBody .= "Application confidentielle : ".$_POST['confidentiel']."\n"."<BR>";
 $date = date("d-m-Y" );  
 $MailBody .= "Date : ".$date."\n"."<BR>";
 $date = date("Y-m-d" );
 
 // Transfert dans la base de données
 require("../../config.inc.php" );
 $requete="insert into application(nom,prenom,sexe,age,adresse,ville,code,tel_jour,tel_soir,tel_cell,courriel,f_academique,f_entraineur,exp_travail,exp_soccer,exp_entraineur_recent,exp_joueur,commentaire,reference,hist_ats,type_horaire,disponibilite,autre_activite,poste_technique,poste_entraineur,e_ligue,e_sexe,e_categorie,MAJ,confidentiel) values(
'".$_POST['nom']."',
'".$_POST['prenom']."',
'".$_POST['sexe']."',
'".$_POST['age']."',
'".$_POST['adresse']."',
'".$_POST['ville']."',
'".$_POST['code']."',
'".$_POST['tel_jour']."',
'".$_POST['tel_soir']."',
'".$_POST['tel_cell']."',
'".$_POST['courriel']."',
'".$_POST['f_academique']."',
'".$_POST['f_entraineur']."',
'".$_POST['exp_travail']."',
'".$_POST['exp_soccer']."',
'".$_POST['exp_entraineur']."',
'".$_POST['exp_joueur']."',
'".$_POST['commentaires']."',
'".$_POST['references']."',
'$hats_choix',
'$type_choix',
'$disp_choix',
'".$_POST['autre_poste']."',
'$ptech_choix',
'$pent_choix',
'$eligue_choix',
'$esexe_choix',
'$ecat_choix',
'$date',
'".$_POST['confidentiel']."'
)";  
 
mysql_query($requete);
mysql_close($dblink);
 
// Envoi d'un courriel
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
echo("<p>Votre formulaire a été envoyé. Merci!</p>" );  
echo $MailBody;
 
?>

Reply

Marsh Posté le 27-12-2006 à 17:13:07    

Faille de sécurité sur le header From (qui est d'ailleurs faux, peut-être pour ça que ça merde. Corrige :

Code :
  1. $MailHeader = 'From: ' . str_replace(array("\r", "\n" ), '', $_POST['courriel']);

Reply

Marsh Posté le 27-12-2006 à 17:24:00    

J'ai mis ta ligne à la place de $MailHeader = $_POST['courriel'];  
 
et je n'ai toujours rien reçu.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed