Bonjour à tous !
Je sollicite votre aide pour résoudre un problème d'envois de mail avec plusieurs pièces jointes.
Je vous présente déjà le travail que j'ai fais (ps: code collé de ci et de là avec quelques petites modifs de ma part)
Voici donc ma page :
<?php
if(isset($_POST['Envoyer'])){$erreur="";
$regex_head = '/[\n\r]/';
$boundary = "_".md5 (uniqid (rand()));
// 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_01=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_01))); //Nom
$f_02=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_02))); //Email
$f_03=trim(ucwords(preg_replace("[^0-9\ +]", "", $f_03))); //Téléphone
$f_04=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_04))); //Commentaire
$f_11=strip_tags(trim($f_11));
$f_12=strip_tags(trim($f_12));
// Verification des champs
if(strlen($f_01)<2){$erreur.="<li>".$CAS_ErrNoms; $errf_01=1;}
if(strlen($f_02)<2){$erreur.="<li>".$CAS_ErrEmail1; $errf_02=1; }else{
if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_02)){$erreur.="<li>".$CAS_ErrEmail2; $errf_02=1;}}
if(strlen($f_03)<2){$erreur.="<li>".$CAS_ErrPhone; $errf_03=1;}
if($_FILES['f_05']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$CAS_ErrPhoto1; $errf_05=1;}
if($_FILES['f_06']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$CAS_ErrPhoto2; $errf_06=1;}
if($_FILES['f_07']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$CAS_ErrPhoto3; $errf_07=1;}
// Création du message
if($erreur==""){
//$attached_file = file_get_contents($f_05);
//$attached_file = chunk_split(base64_encode($attached_file));
$upload_file = $uploaddir . $_FILES['f_05']['name'];
if (move_uploaded_file($_FILES['f_05']['tmp_name'], $upload_file)) {
$ext = explode(".", basename($_FILES['f_05']['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;}
$piecejointe = $_FILES["f_05"]["name"];}
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);}
// Message
$titre= $CAS_CandidCasting;
$tete.= "X-Priority: 1 \n";
$tete.= "From:".$f_02."\n";
$tete = "MIME-version: 1.0\n";
$tete.= "Content-type: multipart/mixed; ";
$tete.= "boundary=\"Message-Boundary\"\n";
$tete.= "Content-transfer-encoding: 7BIT\n";
$tete.= "X-attachments:".$piecejointe."\n";
$corps = "--Message-Boundary\n";
$corps.= "Content-type: text/plain; charset=ISO-8859-1\n";
$corps.= "Content-transfer-encoding: 7BIT\n";
$corps.= "\n\n--Message-Boundary\n";
$corps.= "Content-type:".$attach_type."; name=".$piecejointe."\n";
$corps.= "Content-Length:".filesize($piecejointe)."\n";
$corps.= "Content-transfer-Encoding: BASE64\n";
$corps.= "Content-disposition: attachment; filename=".$piecejointe."\n\n";
$corps.= "$encoded_attach\n";
$corps.= "--Message-Boundary--\n";
$corps.=$CAS_NomPrenom. " : ".$f_01."\n";
$corps.=$CAS_AdresseEmail. " : ".$f_02."\n";
$corps.=$CAS_Telephone. " : ".$f_03."\n";
$corps.=$CAS_Commentaire. " : ".$f_04."\n\n";
$corps.=$CAS_Photos1. " : ".$f_05."\n";
$corps.=$CAS_Photos2. " : ".$f_06."\n";
$corps.=$CAS_Photos3. " : ".$f_07."\n";
$corps.=$CAS_Photos4. " : ".$f_08."\n";
$corps.=$CAS_Photos5. " : ".$f_09."\n";
$corps.=$CAS_Photos6. " : ".$f_10."\n\n";
$corps.=$CAS_Facebook. " : ".$f_11."\n";
$corps.=$CAS_Site. " : ".$f_12."\n";
if(mail("[email protected]", $titre, stripslashes($corps), $tete)){
$ok_mail="true";}else{$erreur.="<div class='DivError TexteError'><li>".$CAS_ErreurEnvois2."</div>";}}}
?>
Pouvez-vous m'aider à corriger svp ?
Voici la page en question :
http://sivop.com/casting_inscription.php
Bonjour à tous !
Je sollicite votre aide pour résoudre un problème d'envois de mail avec plusieurs pièces jointes.
Je vous présente déjà le travail que j'ai fais (ps: code collé de ci et de là avec quelques petites modifs de ma part)
Voici donc ma page :
[php]<?php
if(isset($_POST['Envoyer'])){$erreur="";
$regex_head = '/[\n\r]/';
$boundary = "_".md5 (uniqid (rand()));
// 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_01=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_01))); //Nom
$f_02=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_02))); //Email
$f_03=trim(ucwords(preg_replace("[^0-9\ +]", "", $f_03))); //Téléphone
$f_04=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_04))); //Commentaire
$f_11=strip_tags(trim($f_11));
$f_12=strip_tags(trim($f_12));
// Verification des champs
if(strlen($f_01)<2){$erreur.="<li>".$CAS_ErrNoms; $errf_01=1;}
if(strlen($f_02)<2){$erreur.="<li>".$CAS_ErrEmail1; $errf_02=1; }else{
if(!preg_match('/^[^@]{1,64}@[^@]{1,255}$/', $f_02)){$erreur.="<li>".$CAS_ErrEmail2; $errf_02=1;}}
if(strlen($f_03)<2){$erreur.="<li>".$CAS_ErrPhone; $errf_03=1;}
if($_FILES['f_05']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$CAS_ErrPhoto1; $errf_05=1;}
if($_FILES['f_06']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$CAS_ErrPhoto2; $errf_06=1;}
if($_FILES['f_07']['error'] == UPLOAD_ERR_NO_FILE) {$erreur.="<li>".$CAS_ErrPhoto3; $errf_07=1;}
// Création du message
if($erreur==""){
//$attached_file = file_get_contents($f_05);
//$attached_file = chunk_split(base64_encode($attached_file));
$upload_file = $uploaddir . $_FILES['f_05']['name'];
if (move_uploaded_file($_FILES['f_05']['tmp_name'], $upload_file)) {
$ext = explode(".", basename($_FILES['f_05']['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;}
$piecejointe = $_FILES["f_05"]["name"];}
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);}
// Message
$titre= $CAS_CandidCasting;
$tete.= "X-Priority: 1 \n";
$tete.= "From:".$f_02."\n";
$tete = "MIME-version: 1.0\n";
$tete.= "Content-type: multipart/mixed; ";
$tete.= "boundary=\"Message-Boundary\"\n";
$tete.= "Content-transfer-encoding: 7BIT\n";
$tete.= "X-attachments:".$piecejointe."\n";
$corps = "--Message-Boundary\n";
$corps.= "Content-type: text/plain; charset=ISO-8859-1\n";
$corps.= "Content-transfer-encoding: 7BIT\n";
$corps.= "\n\n--Message-Boundary\n";
$corps.= "Content-type:".$attach_type."; name=".$piecejointe."\n";
$corps.= "Content-Length:".filesize($piecejointe)."\n";
$corps.= "Content-transfer-Encoding: BASE64\n";
$corps.= "Content-disposition: attachment; filename=".$piecejointe."\n\n";
$corps.= "$encoded_attach\n";
$corps.= "--Message-Boundary--\n";
$corps.=$CAS_NomPrenom. " : ".$f_01."\n";
$corps.=$CAS_AdresseEmail. " : ".$f_02."\n";
$corps.=$CAS_Telephone. " : ".$f_03."\n";
$corps.=$CAS_Commentaire. " : ".$f_04."\n\n";
$corps.=$CAS_Photos1. " : ".$f_05."\n";
$corps.=$CAS_Photos2. " : ".$f_06."\n";
$corps.=$CAS_Photos3. " : ".$f_07."\n";
$corps.=$CAS_Photos4. " : ".$f_08."\n";
$corps.=$CAS_Photos5. " : ".$f_09."\n";
$corps.=$CAS_Photos6. " : ".$f_10."\n\n";
$corps.=$CAS_Facebook. " : ".$f_11."\n";
$corps.=$CAS_Site. " : ".$f_12."\n";
if(mail("
[email protected]", $titre, stripslashes($corps), $tete)){
$ok_mail="true";}else{$erreur.="<div class='DivError TexteError'><li>".$CAS_ErreurEnvois2."</div>";}}}
?>[/php]
Pouvez-vous m'aider à corriger svp ?
Voici la page en question :[url]http://sivop.com/casting_inscription.php[/url]