1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
<?php
////////////////////////////////////////////////////////////////
// fonctione d'envoi de Mail (avec pièces jointe éventuelles) //
////////////////////////////////////////////////////////////////
$Email = $_POST['Email'];
$Objet = $_POST['Objet'];
$LM = $_FILES['LM'];
$CV = $_FILES['CV'];
function Envoi_mail($Email,$to,$Objet,$files){
$mix=(count($files)>0);
$eol="\n";
// Texte
$txt ='Bonjour, '.$eol.$eol;
$txt.='Ce mail a été envoyé depuis moi.com '.$eol.$eol;
$txt.='L\'Email de la personne est : '.$Email.$eol;
$txt.='L\'Objet du message est : '.$Objet.$eol;
if($mix)$txt.='Un message avec une pièce jointe'.$eol;
$txt=chunk_split(base64_encode($txt));
// Headers
$headers ='From: '.$Email.$eol;
$headers.='Return-Path: '.$Email.$eol;
$headers.='Reply-To: '.$Email.$eol;
$headers.='X-Priority: 3'.$eol;
$headers.='X-Mailer: PHP/'.phpversion().$eol;
$headers.='MIME-Version: 1.0'.$eol;
if($mix){
$boundary=md5(uniqid(microtime(),true));
$headers.='Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$eol.$eol;
$msg ='This is a multi-part/mixed message in MIME format.'.$eol;
$msg.='--'.$boundary.$eol;
$msg.='Content-Type: text/plain; charset="ISO-8859-1"'.$eol;
$msg.='Content-Transfer-Encoding: base64'.$eol.$eol;
}else{
$headers.='Content-Type: text/plain; charset="ISO-8859-1"'.$eol;
$headers.='Content-Transfer-Encoding: base64'.$eol.$eol;
$msg='';
}
$msg.=$txt;
if($mix){
foreach($files as $mixed){
$file=$mixed['name'];
$type=$mixed['type'];
$size=$mixed['size'];
if($handle=@fopen($file,'r')){
$content=@fread($handle,$size);
$content=chunk_split(base64_encode($content));
@fclose($handle);
$base=basename($file);
$msg.='--'.$boundary.$eol;
$msg.='Content-type: '.$type.'; name="'.$base.'"'.$eol;
$msg.='Content-Transfer-Encoding: base64'.$eol;
$msg.='Content-Disposition: attachment; filename="'.$base.'"'.$eol.$eol;
$msg.=$content.$eol;
}
}
$msg.='--'.$boundary.'--'.$eol;
}
$obj='=?ISO-8859-1?B?'.base64_encode('Poste demandé par SOUASOUA.COM: '.$Objet).'?=';
return (bool)@mail($to,$obj,$msg,$headers);
}
////////////////////
// Initialisation //
///////////////////
// Tableau contenant les infos des fichiers (nom, taille et type)
$mixfiles=array();
// Flag indiquant le bon déroulement de l'upload et donc... la présence de pièces jointes
$mix=false;
// Répertoire contenant les fichiers téléversés
$chemin=dirname(__FILE__).DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR;
// Extensions admises
$extensions=array('.txt','.doc','.rtf');
// Destinataire du mail
$to='soua@laposte.net';
///////////////////////////////////////////////////////
// Récupération des valeurs des champs du formulaire //
///////////////////////////////////////////////////////
$Email=(isset($_POST['Email']))?trim(rawurldecode($_POST['Email'])):'';
$Objet=(isset($_POST['Objet']))?trim(rawurldecode($_POST['Objet'])):'';
$f=(($Email!=='')and($Objet!=='')and(isset($_FILES['userfile'])));
if($f){
$count=count($_FILES['userfile']['tmp_name']);
for($i=0;$i<$count;$i++){
if($_FILES['userfile']['error'][$i]==UPLOAD_ERR_OK){
$file=basename($_FILES['userfile']['name'][$i]);
$ext=strtolower(substr($file,strrpos($file,'.')));
if(in_array($ext,$extensions)){
$file=strtr($file,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$file=preg_replace('/([^.a-z0-9-\(\)]+)/i','',$file);
if(@move_uploaded_file($_FILES['userfile']['tmp_name'][$i],$chemin.$file)){
$tab=array();
$tab['name']=$chemin.$file;
$tab['size']=$_FILES['userfile']['size'][$i];
$tab['type']=$_FILES['userfile']['type'][$i];
$mixfiles[]=$tab;
$mix=true;
}
}else{
$message='Fichier rejeté';
$f=false;
break;
}
}
}
}else
$message='Veuillez saisir les champs votre adresse e-mail et votre objet';
if($f){
if(Envoi_mail($Email,$to,$Objet,$mixfiles))
$message='Votre demande a été envoyée';
else
$message='Erreur ! Votre demande n\'a pas été envoyée';
}
echo $message;
?> |
Partager