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
| $message = "$genre $nom\n\n\nAdresse : $adresse \nCode postal : $codePostal\nVille : $ville\nTél : $telephone\nE-mail : $email\n\nmessage :\n$message";
$boundary = "-----=".md5(uniqid(rand()));
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";
$msg = "--$boundary\r\n";
// Et pour chaque partie on en indique le type
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
// Et comment il sera codé
$msg .= "Content-Transfer-Encoding:8bit\r\n";
// Il est indispensable d'introduire une ligne vide entre l'entête et le texte
$msg .= "\r\n";
// Enfin, on peut écrire le texte de la 1ère partie
$msg .= $message;
$msg .= "\r\n";
$dossier = "./upload/";
if($_FILES['F1']['error'] == 0){
$fichier1 = $_FILES['F1']['name'];
// $fichier1 = "cahier_des_charges";
// chmod($dossier,0777);
// echo $_FILES['F1']['name'];
if(is_uploaded_file($_FILES['F1']['tmp_name'])){
copy($_FILES['F1']['tmp_name'],$dossier.$fichier1);
}
// if(move_uploaded_file($_FILES['F1']['tmp_name'], $dossier)){
// chmod($dossier.$fichier1,0644);
// }
// Tout d'abord lire le contenu du fichier
$file = $dossier.$fichier1;
$fp = fopen($file, "rb"); // b c'est pour les windowsiens
$attachment = fread($fp, filesize($file));
fclose($fp);
// puis convertir le contenu du fichier en une chaîne de caractère
// certe totalement illisible mais sans caractères exotiques
// et avec des retours à la ligne tout les 76 caractères
// pour être conforme au format RFC 2045
$attachment = chunk_split(base64_encode($attachment));
// Ne pas oublier que chaque partie du message est séparé par une frontière
$msg .= "--$boundary\r\n";
// Et pour chaque partie on en indique le type
$msg .= "Content-Type: application/octet-stream; name=\"$fichier1\"\r\n";
// Et comment il sera codé
$msg .= "Content-Transfer-Encoding: base64\r\n";
// Petit plus pour les fichiers joints
// Il est possible de demander à ce que le fichier
// soit si possible affiché dans le corps du mail
$msg .= "Content-Disposition: inline; filename=\"$fichier1\"\r\n";
// Il est indispensable d'introduire une ligne vide entre l'entête et le texte
$msg .= "\r\n";
// C'est ici que l'on insère le code du fichier lu
$msg .= $attachment . "\r\n";
$msg .= "\r\n\r\n";
// voilà, on indique la fin par une nouvelle frontière
$msg .= "--$boundary--\r\n";
}
mail($destinataire, "contact depuis le site internet lci-packaging.com", $msg,"Reply-to: $reponse\r\nFrom:$expediteur\r\n".$header);
if (isset($_FILES['F1']['name']) AND $_FILES['F1']['name'] != '')
unlink("./upload/".$fichier1);
print ("Votre demande a été envoyée. <br>Vous serez recontacté par nos équipes dans les plus brefs délais."); |