Envois pièce jointe
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
BlackYoup Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
BlackYoup Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous !
J'ai beau cherché, j'ai beau fouillé, je ne trouve pas la solution et je suis vraiment coincé...
J'essaie d'envoyer un mail avec pièce jointe.
Ce code m'envois le mail, m'envois 1 piècej ointe (sur 2) et sans message, seulement un noname d'1Ko
Pouvez-vous m'aider svp ?
J'ai beau cherché, j'ai beau fouillé, je ne trouve pas la solution et je suis vraiment coincé...
J'essaie d'envoyer un mail avec pièce jointe.
Ce code m'envois le mail, m'envois 1 piècej ointe (sur 2) et sans message, seulement un noname d'1Ko
Pouvez-vous m'aider svp ?
<?php if(isset($_POST['submit'])){$erreur=""; // Nettoyage des entrées while(list($var,$val)=each($_POST)){if(!is_array($val)){$$var=strip_tags($val);}else{while(list($arvar,$arval)=each($val)){$$var[$arvar]=strip_tags($arval);}}} // Formatage des entrées $f_Nom=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Nom))); $f_Email=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Email))); // Verification des champs if(strlen($f_Nom)<2) {$erreur.="<li>".$REC_ErrNom; $errf_Nom=1;} if(strlen($f_Email)<2) {$erreur.="<li>".$REC_ErrEmail1; $errf_Email=1; } else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Email)) {$erreur.="<li>".$REC_ErrEmail2; $errf_Email=1;}} if($_FILES['f_Curriculum']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrCurriculum; $errf_Curriculum=1;} if($_FILES['f_Motivation']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrMotivation; $errf_Motivation=1;} if($erreur==""){ $titre=$REC_PostulerOffre.': '.$f_Reference; $tete="From:".$f_Email."\n"; $tete.= 'MIME-Version: 1.0'."\n"; $tete.='Content-Type: multipart/mixed; charset="UTF-8"'."\n"; $tete.='Content-Transfer-Encoding: 8bit'; if($_POST['submit'] != ''){ switch(strrchr(basename($_POST['submit']), ".")){ case ".pdf": $ctype = "application/pdf"; break; case ".png": $ctype = "image/png"; break; case ".gif": $ctype = "image/gif"; break; case ".jpg": $ctype = "image/jpeg"; break; case ".txt": $ctype = "text/plain"; break; default: $ctype = "application/octet-stream"; break; } $tete.= 'Content-Type: '.$ctype.'; name="'.$_POST['submit'].'"'."\n"; $tete.= 'Content-Transfer-Encoding: base64'."\n"; $tete.= 'Content-Disposition:attachement; filename="'.$_POST['submit'].'"'."\n\n"; $tete.= chunk_split(base64_encode(file_get_contents($_POST['submit'])))."\n"; // Création du message $corps.=$REC_Nom.": ".$f_Nom."\n"; $corps.=$REC_Email.": ".$f_Email."\n"; $corps.=$REC_Curriculum.": ".$f_Curriculum."\n"; $corps.=$REC_Motivation.": ".$f_Motivation."\n"; if(mail("monmail@gmail.com", $titre, stripslashes($corps), $tete)){ $ok_mail="true";}else{$erreur.="<div class='DivError TexteError'><li>".$CAS_ErreurEnvois2."</div>";}}} } ?>
A voir également:
- Envois pièce jointe
- Pièce d'identité - Accueil - Services publics
- 1 pièce jointe - Guide
- Pps piece jointe ✓ - Forum Samsung
- Pps ✓ - Forum Windows
- (Msn) pièce jointe pps ✓ - Forum Réseaux sociaux
10 réponses
Salut :)
Je pense qu'il va falloir que tu regardes du coté des boundary
https://www.php.net/manual/fr/function.mail.php
Je pense qu'il va falloir que tu regardes du coté des boundary
https://www.php.net/manual/fr/function.mail.php
Warning: file_get_contents(f_Curriculum): failed to open stream: No such file or directory in /homez.724/sivop/www/jobs/postuler.php on line 52
Voici l'erreur que je rencontre.
Je n'arrive vraiment plus à comprendre :'(
<?php if(isset($_POST['submit'])){$erreur=""; // Nettoyage des entrées while(list($var,$val)=each($_POST)){if(!is_array($val)){$$var=strip_tags($val);}else{while(list($arvar,$arval)=each($val)){$$var[$arvar]=strip_tags($arval);}}} // Formatage des entrées $f_Nom=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Nom))); $f_Email=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Email))); // Verification des champs if(strlen($f_Nom)<2) {$erreur.="<li>".$REC_ErrNom; $errf_Nom=1;} if(strlen($f_Email)<2) {$erreur.="<li>".$REC_ErrEmail1; $errf_Email=1; } else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Email)) {$erreur.="<li>".$REC_ErrEmail2; $errf_Email=1;}} if($_FILES['f_Curriculum']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrCurriculum; $errf_Curriculum=1;} if($_FILES['f_Motivation']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrMotivation; $errf_Motivation=1;} if($erreur==""){ $frontiere = '-----=' . md5(uniqid(mt_rand())); $titre=$REC_PostulerOffre.': '.$f_Reference; $tete="From:".$f_Email."\n"; $tete.= 'MIME-Version: 1.0'."\n"; $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n"; $tete.='Content-Transfer-Encoding: 8bit'; if($_POST['submit'] != ''){ switch(strrchr(basename($_POST['submit']), ".")){ case ".pdf": $ctype = "application/pdf"; break; case ".png": $ctype = "image/png"; break; case ".gif": $ctype = "image/gif"; break; case ".jpg": $ctype = "image/jpeg"; break; case ".txt": $ctype = "text/plain"; break; default: $ctype = "application/octet-stream"; break; } $tete.= 'Content-Type: '.$ctype.'; name="f_Curriculum"'."\n"; $tete.= 'Content-Transfer-Encoding: base64'."\n"; $tete.= 'Content-Disposition:attachement; filename="f_Curriculum"'."\n\n"; $tete.= chunk_split(base64_encode(file_get_contents('f_Curriculum')))."\n"; // Création du message $corps= '--'.$frontiere."\n"; $corps.=$REC_Nom.": ".$f_Nom."\n"; $corps.=$REC_Email.": ".$f_Email."\n"; $corps.=$REC_Curriculum.": ".$f_Curriculum."\n"; $corps.=$REC_Motivation.": ".$f_Motivation."\n"; $corps.= '--'.$frontiere.'--'."\n"; if(mail("monmail@gmail.com", $titre, stripslashes($corps), $tete)){ $ok_mail="true";}else{$erreur.="<div class='DivError TexteError'><li>".$CAS_ErreurEnvois2."</div>";}}} } ?>
Cette erreur c'est juste pour dire qu'il ne trouve pas de fichier ou dossier nommé 'f_Curriculum', soit le lien vers ce fichier n'est pas bon, soit le nom qui n'est pas bon, ou sinon le fichier n'existe tout simplement pas.
Ce n'est pas le fichier f_Curriculum mais plutot le champs de fichier.
J'ai beau modifier, avec et sans $... Ca fais plus de 2 semaines que je suis dessus, j'en bave sérieusement.
Voici toute ma page, je ne sais même pas si il y 'a une erreur dans le code...
svp aidez moi !
J'ai beau modifier, avec et sans $... Ca fais plus de 2 semaines que je suis dessus, j'en bave sérieusement.
Voici toute ma page, je ne sais même pas si il y 'a une erreur dans le code...
svp aidez moi !
<?php if(isset($_POST['submit'])){$erreur=""; // Nettoyage des entrées while(list($var,$val)=each($_POST)){if(!is_array($val)){$$var=strip_tags($val);}else{while(list($arvar,$arval)=each($val)){$$var[$arvar]=strip_tags($arval);}}} // Formatage des entrées $f_Nom=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Nom))); $f_Email=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Email))); // Verification des champs if(strlen($f_Nom)<2) {$erreur.="<li>".$REC_ErrNom; $errf_Nom=1;} if(strlen($f_Email)<2) {$erreur.="<li>".$REC_ErrEmail1; $errf_Email=1; } else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Email)) {$erreur.="<li>".$REC_ErrEmail2; $errf_Email=1;}} if($_FILES['f_Curriculum']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrCurriculum; $errf_Curriculum=1;} if($_FILES['f_Motivation']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrMotivation; $errf_Motivation=1;} if($erreur==""){ $frontiere = '-----=' . md5(uniqid(mt_rand())); $titre=$REC_PostulerOffre.': '.$f_Reference; $tete="From:".$f_Email."\n"; $tete.= 'MIME-Version: 1.0'."\n"; $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n"; $tete.='Content-Transfer-Encoding: 8bit'; if($_POST['submit'] != ''){ switch(strrchr(basename($f_Curriculum), ".")){ case ".pdf": $ctype = "application/pdf"; break; case ".png": $ctype = "image/png"; break; case ".gif": $ctype = "image/gif"; break; case ".jpg": $ctype = "image/jpg"; break; case ".txt": $ctype = "text/plain"; break; default: $ctype = "application/octet-stream"; break;} $tete.= 'Content-Type: '.$ctype.'; name="'.$f_Curriculum.'"'."\n"; $tete.= 'Content-Transfer-Encoding: base64'."\n"; $tete.= 'Content-Disposition:attachement; filename="'.$f_Curriculum.'"'."\n\n"; $tete.= chunk_split(base64_encode(file_get_contents($f_Curriculum)))."\n"; // Création du message $corps= '--'.$frontiere."\n"; $corps.=$REC_Nom.": ".$f_Nom."\n"; $corps.=$REC_Email.": ".$f_Email."\n"; $corps.=$REC_Curriculum.": ".$f_Curriculum."\n"; $corps.=$REC_Motivation.": ".$f_Motivation."\n"; $corps.= '--'.$frontiere.'--'."\n"; if(mail('monmail@gmail.com', $titre, stripslashes($corps), $tete)){ $ok_mail="true";}else{$erreur.="<div class='TexteError'>".$CAS_ErreurEnvois2."</div>";}}} } ?> <table width="660" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td align="left" valign="top" class="CadreGris"><? if($ok_mail=="true"){ ?> <table width='639' border='0' cellspacing='0' cellpadding='0'> <tr> <td>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</td> </tr> <tr> <td> </td> </tr> <tr> <td><tt><? echo nl2br(stripslashes($corps));?></tt></td> </tr> <tr> <td> </td> </tr> <tr> <td>Nous allons y donner suite dans les meilleurs délais.<br />A bientôt.</td> </tr> </table> <? }else{ ?> <form action="<? echo $PHP_SELF ?>" method="post" enctype="multipart/form-data" name="Form" id="Form"> <table width="639" border="0" cellspacing="0" cellpadding="0"> <? if($erreur){ ?> <tr> <td colspan="3"><?php echo $CAS_ErreurEnvois; ?><ul><? echo $erreur ?></ul> </td> </tr> <? } ?> <tr> <td colspan='3'> </td> </tr> <tr> <td width="200">Nom</td> <td width="20">*</td> <td><input type="text" style="width:100%;" name="f_Nom" value="<? echo stripslashes($f_Nom); ?>" /></td> </tr> <tr> <td colspan="3">*</td> </tr> <tr> <td>Email</td> <td>*</td> <td><input type="text" style="width:100%;" name="f_Email" value="<? echo stripslashes($f_Email); ?>" /></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td>Piece jointe 1</td> <td>*</td> <td><input type="file" style="width:100%; text-align:left;" name="f_Curriculum" /></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td>Piece jointe 2</td> <td>*</td> <td><input type="file" style="width:100%; text-align:left;" name="f_Motivation" /></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3" align="center"><input type='submit' name='submit' value='Envoyer' /></td> </tr> <tr> <td colspan="3" align="center"> </td> </tr> </table> </form> <? } ?></td> </tr> </table>
Il faut que ton fichier envoyé via ton input file soit traité par le serveur et déplacé dans un dossier via la fonction move_uploaded_file()
Ce tuto peut t'aider : https://openclassrooms.com/fr/courses
Au passage, fait bien attention à utiliser les balises <?php au lieu de <? ;)
Ce tuto peut t'aider : https://openclassrooms.com/fr/courses
Au passage, fait bien attention à utiliser les balises <?php au lieu de <? ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Après avoir modifié encore et encore, le mail ne s'envois plus lorsque je met ce code :
if($erreur==""){ $upload_file = $uploaddir.$_FILES[$f_Curriculum]['name']; if (move_uploaded_file($_FILES[$f_Curriculum]['tmp_name'], $upload_file)) { $ext = explode(".", basename($_FILES[$f_Curriculum]['name'])); switch($ext[1]) { default: $attach_type = "application/octet-stream"; break; case "png": $attach_type = "image/png"; break; case "gif": $attach_type = "image/gif"; break; case "jpg": $attach_type = "image/jpg"; break; case"jpeg": $attach_type = "image/jpeg"; break; case "bmp": $attach_type = "image/bmp"; break;} if (file_exists($upload_file)) { $file = fopen($upload_file, "r"); $contents = fread($file, filesize($upload_file)); $encoded_attach = chunk_split(base64_encode($contents)); fclose($file);} $frontiere = '-----=' . md5(uniqid(mt_rand())); $titre=$REC_PostulerOffre.': '.$f_Reference; $tete="From:".$f_Email."\n"; $tete.='MIME-Version: 1.0'."\n"; $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n"; $tete.='Content-Transfer-Encoding: 8bit'; $tete.= 'Content-Type: '.$ctype.'; name="'.$f_Curriculum.'"'."\n"; $tete.= 'Content-Transfer-Encoding: base64'."\n"; $tete.= 'Content-Disposition:attachement; filename="'.$f_Curriculum.'"'."\n\n"; $tete.= chunk_split(base64_encode(file_get_contents($f_Curriculum)))."\n"; // Création du message $corps= '--'.$frontiere."\n"; $corps.=$REC_Nom.": ".$f_Nom."\n"; $corps.=$REC_Email.": ".$f_Email."\n"; $corps.=$REC_Curriculum.": ".$f_Curriculum."\n"; $corps.=$REC_Motivation.": ".$f_Motivation."\n"; $corps.= '--'.$frontiere.'--'."\n"; if(mail('monmail@gmail.com', $titre, stripslashes($corps), $tete)){ $ok_mail="true";}else{$erreur.="<div class='TexteError'>".$CAS_ErreurEnvois2."</div>";}}} }Y a t-il une raison ?
La seule raison que je que je vois serait ton 1er if ne passe pas :
Est-ce que la condition est remplie ? (rajoute un else)
Parcque pour moi $f_Curriculum n'existe pas et à moins qu'elle ne contienne 'f_Curriculum', c'est normal que le if n'est pas validé :)
Si c'est validé, est-ce que le fichier aparait bien dans le dossier d'upload ?
EDIT : en plus, peut être est-ce parcque tu n'a pas mis tout ton code, mais il y a un } en trop par rapport au {
if (move_uploaded_file($_FILES[$f_Curriculum]['tmp_name'], $upload_file))
Est-ce que la condition est remplie ? (rajoute un else)
Parcque pour moi $f_Curriculum n'existe pas et à moins qu'elle ne contienne 'f_Curriculum', c'est normal que le if n'est pas validé :)
Si c'est validé, est-ce que le fichier aparait bien dans le dossier d'upload ?
EDIT : en plus, peut être est-ce parcque tu n'a pas mis tout ton code, mais il y a un } en trop par rapport au {
Déjà, la condition du if me fait erreur lorsque je met un else {echo ""}
Ensuite, considérent que le $f_Curriculum est le champ de fichier qui récupère mon image, "si" le fichier est envoyé, il est renommé en noname et pèse 1Ko
J'ai beau cherché le } en plus je ne l'ai pas trouvé... voici dans le code complet de ma page (en supprimant les modifications effectuées depuis quelques jours :
Ensuite, considérent que le $f_Curriculum est le champ de fichier qui récupère mon image, "si" le fichier est envoyé, il est renommé en noname et pèse 1Ko
J'ai beau cherché le } en plus je ne l'ai pas trouvé... voici dans le code complet de ma page (en supprimant les modifications effectuées depuis quelques jours :
<?php $StyleErreur="border-color:rgba(255, 41, 54, 0.8); outline:0; outline:thin dotted \9; -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(255, 41, 54, 0.6); -moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(255, 41, 54, 0.6); box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(255, 41, 54, 0.6);"; if(isset($_POST['submit'])){$erreur=""; // Nettoyage des entrées while(list($var,$val)=each($_POST)){if(!is_array($val)){$$var=strip_tags($val);}else{while(list($arvar,$arval)=each($val)){$$var[$arvar]=strip_tags($arval);}}} // Formatage des entrées $f_Nom=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Nom))); $f_Email=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Email))); // Verification des champs if(strlen($f_Nom)<2) {$erreur.="<li>".$REC_ErrNom; $errf_Nom=1;} if(strlen($f_Email)<2) {$erreur.="<li>".$REC_ErrEmail1; $errf_Email=1; } else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Email)) {$erreur.="<li>".$REC_ErrEmail2; $errf_Email=1;}} if($_FILES['f_Curriculum']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrCurriculum; $errf_Curriculum=1;} if($_FILES['f_Motivation']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrMotivation; $errf_Motivation=1;} if($erreur==""){ $upload_file = $uploaddir.$_FILES[$f_Curriculum]['name']; if (move_uploaded_file($_FILES[$f_Curriculum]['tmp_name'], $upload_file)) { $ext = explode(".", basename($_FILES[$f_Curriculum]['name'])); switch($ext[1]) { default: $attach_type = "application/octet-stream"; break; case "png": $attach_type = "image/png"; break; case "gif": $attach_type = "image/gif"; break; case "jpg": $attach_type = "image/jpg"; break; case"jpeg": $attach_type = "image/jpeg"; break; case "bmp": $attach_type = "image/bmp"; break;} if (file_exists($upload_file)) { $file = fopen($upload_file, "r"); $contents = fread($file, filesize($upload_file)); $encoded_attach = chunk_split(base64_encode($contents)); fclose($file);} $frontiere = '-----=' . md5(uniqid(mt_rand())); $titre=$REC_PostulerOffre.': '.$f_Reference; $tete="From:".$f_Email."\n"; $tete.='MIME-Version: 1.0'."\n"; $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n"; $tete.='Content-Transfer-Encoding: 8bit'; $tete.= 'Content-Type: '.$ctype.'; name="'.$f_Curriculum.'"'."\n"; $tete.= 'Content-Transfer-Encoding: base64'."\n"; $tete.= 'Content-Disposition:attachement; filename="'.$f_Curriculum.'"'."\n\n"; $tete.= chunk_split(base64_encode(file_get_contents($f_Curriculum)))."\n"; // Création du message $corps= '--'.$frontiere."\n"; $corps.=$REC_Nom.": ".$f_Nom."\n"; $corps.=$REC_Email.": ".$f_Email."\n"; $corps.=$REC_Curriculum.": ".$f_Curriculum."\n"; $corps.=$REC_Motivation.": ".$f_Motivation."\n"; $corps.= '--'.$frontiere.'--'."\n"; if(mail('jaber.ahmed.a@gmail.com', $titre, stripslashes($corps), $tete)){ $ok_mail="true";}else{$erreur.="<div class='TexteError'>".$CAS_ErreurEnvois2."</div>";}}} } ?> <!-- ######################################################################################################### --> <?php include("../config.php"); ?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link type="text/css" href="../css/styles.css" rel="stylesheet" /> <?php include("../includes/header.php"); ?> <!-- ######################################################################################################### --> <!-- ######################################################################################################### --> <table width="970" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="250" align="left" valign="top" class="CadreBlanc"><?php include("menu.php"); ?></td> <td width="15" align="left"> </td> <td align="left" valign="top" class="CadreBlanc"><span class="Gras Souligne TexteCyan Taille16"><?php echo $REC_OffreEmploi; ?></span> <div class="Espace30"></div><?php echo $REC_SpontaneTexte; ?> <div class="Espace30"></div> <table width="660" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="left" valign="top" class="CadreGris"><?php if($ok_mail=="true"){ ?> <table width='639' border='0' cellspacing='0' cellpadding='0'> <tr> <td>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</td> </tr> <tr> <td> </td> </tr> <tr> <td><tt><?php echo nl2br(stripslashes($corps)); ?></tt></td> </tr> <tr> <td> </td> </tr> <tr> <td>Nous allons y donner suite dans les meilleurs délais.<br /> A bientôt.</td> </tr> </table> <?php }else{ ?> <form action="<?php echo $PHP_SELF ?>" method="post" enctype="multipart/form-data" name="Form" id="Form"> <table width="639" border="0" cellspacing="0" cellpadding="0"> <?php if($erreur){ ?> <tr> <td colspan="3"><div class="DivError"><span class="TexteError" ><?php echo $CAS_ErreurEnvois; ?></span> <ul class="TexteGris"> <?php echo $erreur ?> </ul> </div></td> </tr> <?php } ?> <tr> <td colspan='3'> </td> </tr> <tr> <td width="200"><?php echo $REC_Nom; ?></td> <td width="20"><div class="Gras TexteRouge Taille14">*</div></td> <td><input type="text" style="width:100%; <?php if($errf_Nom==1){print($StyleErreur);} ?>;" name="f_Nom" value="<?php echo stripslashes($f_Nom); ?>" /></td> </tr> <tr> <td colspan="3"><div class="Espace10"></div></td> </tr> <tr> <td><?php echo $REC_Email; ?></td> <td><div class="Gras TexteRouge Taille14">*</div></td> <td><input type="text" style="width:100%; <?php if($errf_Email==1){print($StyleErreur);} ?>;" name="f_Email" value="<?php echo stripslashes($f_Email); ?>" /></td> </tr> <tr> <td colspan="3"><div class="Espace10"></div></td> </tr> <tr> <td><?php echo $REC_Telephone; ?></td> <td><div class="Gras TexteRouge Taille14">*</div></td> <td><input type="text" style="width:100%; <?php if($errf_Telephone==1){print($StyleErreur);} ?>;" name="f_Telephone" value="<?php echo stripslashes($f_Telephone); ?>" /></td> </tr> <tr> <td colspan="3"><div class="Espace10"></div></td> </tr> <tr> <td><?php echo $REC_Curriculum; ?></td> <td><div class="Gras TexteRouge Taille14">*</div></td> <td><input type="hidden" name="MAX_FILE_SIZE" value="1048576" /> <input type="file" style="width:100%; text-align:left;" <?php if($errf_Curriculum==1){print("class='Btn BtnRouge'");} ?> name="f_Curriculum" /></td> </tr> <tr> <td colspan="3"><div class="Espace10"></div></td> </tr> <tr> <td><?php echo $REC_Motivation; ?></td> <td><div class="Gras TexteRouge Taille14">*</div></td> <td><input type="hidden" name="MAX_FILE_SIZE" value="1048576" /> <input type="file" style="width:100%; text-align:left;" <?php if($errf_Curriculum==1){print("class='Btn BtnRouge'");} ?> name="f_Motivation" /></td> </tr> <tr> <td colspan="3"><div class="Espace20"></div></td> </tr> <tr> <td colspan="3" align="right"><span class="Italique TexteRouge">*</span><span class="Italique TexteGris"> : <?php echo $ChampObligatoire; ?></span></td> </tr> <tr> <td colspan="3"><div class="Espace20"></div></td> </tr> <tr> <td colspan="3" align="center"><input type='submit' name='submit' value='Envoyer' class="Btn BtnBleu" style="width:150px" /></td> </tr> <tr> <td colspan="3" align="center"><div class="Espace60"></div></td> </tr> <tr> <td colspan="3" align="left"><div class="CadreGris Italique TexteGris Taille12"><?php echo $REC_Confidentialite; ?></div></td> </tr> </table> </form> <?php } ?></td> </tr> </table></td> </tr> </table> <!-- ######################################################################################################### --> <!-- ######################################################################################################### --> <?php include("../includes/footer.php"); ?>
Je sens que j'y suis presque...
Après ces modifications, je reçois le mail avec 1 seule pièce jointe sur 2 (f_Curriculum) et pas f_Motivation
Je peux le télécharger et l'ouvrir
Cependant, je ne reçois pas le corps du message ni la seconde pièce jointe.
Après ces modifications, je reçois le mail avec 1 seule pièce jointe sur 2 (f_Curriculum) et pas f_Motivation
Je peux le télécharger et l'ouvrir
Cependant, je ne reçois pas le corps du message ni la seconde pièce jointe.
<?php if(isset($_POST['submit'])){$erreur=""; // Nettoyage des entrées while(list($var,$val)=each($_POST)){if(!is_array($val)){$$var=strip_tags($val);} else{while(list($arvar,$arval)=each($val)){$$var[$arvar]=strip_tags($arval);}}} // Formatage des entrées $f_Nom=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Nom))); $f_Email=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Email))); // Verification des champs if(strlen($f_Nom)<2) {$erreur.="<li>".$REC_ErrNom; $errf_Nom=1;} if(strlen($f_Email)<2) {$erreur.="<li>".$REC_ErrEmail1; $errf_Email=1; } else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Email)) {$erreur.="<li>".$REC_ErrEmail2; $errf_Email=1;}} if($_FILES['f_Curriculum']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrCurriculum; $errf_Curriculum=1;} if($_FILES['f_Motivation']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrMotivation; $errf_Motivation=1;} if($erreur==""){ $upload_file1 = $_FILES['f_Curriculum']['name']; $upload_file2 = $_FILES['f_Motivation']['name']; if (move_uploaded_file($_FILES['f_Curriculum']['tmp_name'], $upload_file1)) { $ext1 = explode(".", basename($_FILES['f_Curriculum']['name'])); switch($ext1[1]) {default: $attach_type1 = "application/octet-stream"; break; case "gz": $attach_type1 = "application/x-gzip"; break; case "tgz": $attach_type1 = "application/x-gzip"; break; case "zip": $attach_type1 = "application/zip"; break; case "pdf": $attach_type1 = "application/pdf"; break; case "png": $attach_type1 = "image/png"; break; case "gif": $attach_type1 = "image/gif"; break; case "jpg": case"jpeg": $attach_type1 = "image/jpeg"; break; case "txt": $attach_type1 = "text/plain"; break; case "htm": $attach_type1 = "text/html"; break; case "html": $attach_type1 = "text/html"; break;} if (move_uploaded_file($_FILES['f_Motivation']['tmp_name'], $upload_file2)) { $ext2 = explode(".", basename($_FILES['f_Motivation']['name'])); switch($ext2[1]) {default: $attach_type2 = "application/octet-stream"; break; case "gz": $attach_type2 = "application/x-gzip"; break; case "tgz": $attach_type2 = "application/x-gzip"; break; case "zip": $attach_type2 = "application/zip"; break; case "pdf": $attach_type2 = "application/pdf"; break; case "png": $attach_type2 = "image/png"; break; case "gif": $attach_type2 = "image/gif"; break; case "jpg": case"jpeg": $attach_type2 = "image/jpeg"; break; case "txt": $attach_type2 = "text/plain"; break; case "htm": $attach_type2 = "text/html"; break; case "html": $attach_type2 = "text/html"; break;} if(file_exists($upload_file1)) { $file1 = fopen($upload_file1, "r"); $contents1 = fread($file1, filesize($upload_file1)); $encoded_attach1 = chunk_split(base64_encode($contents1)); fclose($file1);} if(file_exists($upload_file2)) { $file2 = fopen($upload_file2, "r"); $contents2 = fread($file2, filesize($upload_file2)); $encoded_attach2 = chunk_split(base64_encode($contents2)); fclose($file2);} $frontiere = '-----=' . md5(uniqid(mt_rand())); $titre=$REC_PostulerOffre.': '.$f_Reference; $tete="From:".$f_Email."\n"; $tete.='MIME-Version: 1.0'."\n"; $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n"; $tete.= '--'.$frontiere."\n"; $tete.= "Content-type: ".$attach_type1."; name=".$upload_file1."\n"; $tete.= "Content-type: ".$attach_type2."; name=".$upload_file2."\n"; $tete.= "Content-Length:".filesize($upload_file1)."\n"; $tete.= "Content-Length:".filesize($upload_file2)."\n"; $tete.= "Content-transfer-Encoding: BASE64\n"; $tete.= "Content-disposition: attachment; filename=".$upload_file1."\n\n"; $tete.= "Content-disposition: attachment; filename=".$upload_file2."\n\n"; $tete.= $encoded_attach1."\n"; $tete.= $encoded_attach2."\n"; $tete.= '--'.$frontiere.'--'."\n"; // Création du message $corps.=$REC_Nom.": ".$f_Nom."\n"; $corps.=$REC_Email.": ".$f_Email."\n"; $corps.=$REC_Curriculum.": ".$f_Curriculum."\n"; $corps.=$REC_Motivation.": ".$f_Motivation."\n"; if(mail(MAIL_WEBMASTER, $titre, stripslashes($corps), $tete)){$ok_mail="true";}else{$erreur.="<div class='TexteError'>".$CAS_ErreurEnvois2."</div>";} }} }} ?>
J'ai réussiiiiiiiiiiiiiiiiiiiiiiii !!!!!!!!!!!!!!!!!!
Wouuuuuuuuuuuhouuuuuuuuuuuuuu !!!!
Il existe une légère petite erreur, le corps du mail n'est pas au format html...
Biensûre le code a besoin de se "nettoyer" mais si déjà je peux avoir une petite aide sur le html :$
Wouuuuuuuuuuuhouuuuuuuuuuuuuu !!!!
Il existe une légère petite erreur, le corps du mail n'est pas au format html...
Biensûre le code a besoin de se "nettoyer" mais si déjà je peux avoir une petite aide sur le html :$
<?php if(isset($_POST['submit'])){$erreur=""; // Nettoyage des entrées while(list($var,$val)=each($_POST)){if(!is_array($val)){$$var=strip_tags($val);} else{while(list($arvar,$arval)=each($val)){$$var[$arvar]=strip_tags($arval);}}} // Formatage des entrées $f_Nom=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Nom))); $f_Email=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_Email))); // Verification des champs if(strlen($f_Nom)<2) {$erreur.="<li>".$REC_ErrNom; $errf_Nom=1;} if(strlen($f_Email)<2) {$erreur.="<li>".$REC_ErrEmail1; $errf_Email=1; } else{if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_Email)) {$erreur.="<li>".$REC_ErrEmail2; $errf_Email=1;}} if($_FILES['f_Curriculum']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrCurriculum; $errf_Curriculum=1;} if($_FILES['f_Motivation']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$REC_ErrMotivation; $errf_Motivation=1;} if($erreur==""){ $upload_file1 = $_FILES['f_Curriculum']['name']; $upload_file2 = $_FILES['f_Motivation']['name']; if (move_uploaded_file($_FILES['f_Curriculum']['tmp_name'], $upload_file1)) { $ext1 = explode(".", basename($_FILES['f_Curriculum']['name'])); switch($ext1[1]) {default: $attach_type1 = "application/octet-stream"; break; case "gz": $attach_type1 = "application/x-gzip"; break; case "tgz": $attach_type1 = "application/x-gzip"; break; case "zip": $attach_type1 = "application/zip"; break; case "pdf": $attach_type1 = "application/pdf"; break; case "png": $attach_type1 = "image/png"; break; case "gif": $attach_type1 = "image/gif"; break; case "jpg": case"jpeg": $attach_type1 = "image/jpeg"; break; case "txt": $attach_type1 = "text/plain"; break; case "htm": $attach_type1 = "text/html"; break; case "html": $attach_type1 = "text/html"; break;} if (move_uploaded_file($_FILES['f_Motivation']['tmp_name'], $upload_file2)) { $ext2 = explode(".", basename($_FILES['f_Motivation']['name'])); switch($ext2[1]) {default: $attach_type2 = "application/octet-stream"; break; case "gz": $attach_type2 = "application/x-gzip"; break; case "tgz": $attach_type2 = "application/x-gzip"; break; case "zip": $attach_type2 = "application/zip"; break; case "pdf": $attach_type2 = "application/pdf"; break; case "png": $attach_type2 = "image/png"; break; case "gif": $attach_type2 = "image/gif"; break; case "jpg": case"jpeg": $attach_type2 = "image/jpeg"; break; case "txt": $attach_type2 = "text/plain"; break; case "htm": $attach_type2 = "text/html"; break; case "html": $attach_type2 = "text/html"; break;} if(file_exists($upload_file1)) { $file1 = fopen($upload_file1, "r"); $contents1 = fread($file1, filesize($upload_file1)); $encoded_attach1 = chunk_split(base64_encode($contents1)); fclose($file1);} if(file_exists($upload_file2)) { $file2 = fopen($upload_file2, "r"); $contents2 = fread($file2, filesize($upload_file2)); $encoded_attach2 = chunk_split(base64_encode($contents2)); fclose($file2);} $frontiere = '-----=' . md5(uniqid(mt_rand())); $titre=$REC_OffreEmploi; $tete="From:".$f_Email."\n"; $tete.='MIME-Version: 1.0'."\n"; $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n"; $tete.= '--'.$frontiere."\n"; $tete.= "Content-type: ".$attach_type1."; name=".$upload_file1."\n"; $tete.= "Content-Length:".filesize($upload_file1)."\n"; $tete.= "Content-transfer-Encoding: BASE64\n"; $tete.= "Content-disposition: attachment; filename=".$upload_file1."\n\n"; $tete.= $encoded_attach1."\n"; $tete.= '--'.$frontiere."\n"; $tete.= "Content-type: ".$attach_type2."; name=".$$upload_file2."\n"; $tete.= "Content-Length:".filesize($upload_file2)."\n"; $tete.= "Content-transfer-Encoding: BASE64\n"; $tete.= "Content-disposition: attachment; filename=".$upload_file2."\n\n"; $tete.= $encoded_attach2."\n"; $tete.= '--'.$frontiere."\n"; // Création du message $corps="<div style='padding: 10px; background: url(../images/whitey-fabric.png) repeat scroll left top rgb(230, 230, 230);border: 1px dashed rgb(179, 179, 179); -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px; -moz-box-sizing: border-box;-webkit-box-shadow:1px 1px 0px rgb(255, 255, 255); -moz-box-shadow:1px 1px 0px rgb(255, 255, 255); box-shadow:1px 1px 0px rgb(255, 255, 255);font-family:Courier New'>"; $corps.=$CONTACT_NOMPRENOM. $Espace06." : ".$f_Nom."\n"; $corps.=$CONTACT_EMAIL. $Espace07." : ".$f_Email."\n\n"; $corps.=$REC_Curriculum. $Espace04." : ".$upload_file1."\n"; $corps.=$REC_Motivation. $Espace00." : ".$upload_file2."\n</div>"; if(mail(MAIL_WEBMASTER, $titre, stripslashes($corps), $tete)){$ok_mail="true";}else{$erreur.="<div class='TexteError'>".$CAS_ErreurEnvois2."</div>";} }} }} ?>
Oui, je penses... enfin, quand on dit :
Rien que le
$tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n";
devait normalement le faire afficher !
Sans la frontière, je le reçois en html, mais lorsque je le met au boundary (frontière), j'ai ce problème...
$titre=$REC_OffreEmploi; $tete="From:".$f_Email."\n"; $tete.='MIME-Version: 1.0'."\n"; $tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n"; $tete.= '--'.$frontiere."\n"; $tete.= "Content-type: ".$attach_type1."; name=".$upload_file1."\n"; $tete.= "Content-Length:".filesize($upload_file1)."\n"; $tete.= "Content-transfer-Encoding: BASE64\n"; $tete.= "Content-disposition: attachment; filename=".$upload_file1."\n\n"; $tete.= $encoded_attach1."\n"; $tete.= '--'.$frontiere."\n"; $tete.= "Content-type: ".$attach_type2."; name=".$$upload_file2."\n"; $tete.= "Content-Length:".filesize($upload_file2)."\n"; $tete.= "Content-transfer-Encoding: BASE64\n"; $tete.= "Content-disposition: attachment; filename=".$upload_file2."\n\n"; $tete.= $encoded_attach2."\n"; $tete.= '--'.$frontiere."\n"; // Création du message $corps="<div style='font-family:Courier New'>"; $corps.=$CONTACT_NOMPRENOM. $Espace06." : ".$f_Nom."\n"; $corps.=$CONTACT_EMAIL. $Espace07." : ".$f_Email."\n\n"; $corps.=$REC_Curriculum. $Espace04." : ".$upload_file1."\n"; $corps.=$REC_Motivation. $Espace00." : ".$upload_file2."\n</div>";
Rien que le
$tete.='Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n";
devait normalement le faire afficher !
Sans la frontière, je le reçois en html, mais lorsque je le met au boundary (frontière), j'ai ce problème...