Envois pièce jointe
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
BlackYoup Messages postés 184 Statut Membre -
BlackYoup Messages postés 184 Statut Membre -
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
- Pps piece jointe - Forum Réseaux sociaux
- Pps ✓ - Forum Windows
- PPS en WMV - Forum Powerpoint
- (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...