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
| <?php
$m=array('toutes les données de mails...');
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $m['destinataire']))$f="\r\n";else $f="\n";
// TEST : EXISTENCE DE PIECES JOINTES
isset($m['pj'])?$pj=$m["pj"]:$pj=null; // pj = pièce jointe
$b2=md5(uniqid(microtime(), TRUE));
$b="--".$b2;
/* HEADERS */
$h='From: '.$m['nomExpediteur'].' <'.$m['expediteur'].'>'.$f;
$h.='Mime-Version: 1.0'.$f;
if(isset($m['bcc']))$h.="Bcc: ".implode(',',$m['bcc']).$f;
$h.='Content-type: multipart/mixed;boundary="'.$b2.'"'.$f.$f;
// Message HTML
$msg = $b.$f;
$msg .= 'Content-type: text/html; charset="ISO-8859-15"'.$f.$f;
$msg .= $m['corpsMail'].$f;
if(isset($m['pj'])){
foreach($m['pj'] as $pj){
$file=$pj['cheminFichier']."/".$pj['nomFichier'];
// message & pj pour mail avec pj
if(file_exists($file)){
$file_size = filesize($file);
$file_type = filetype($file);
$handle = fopen($file, 'r') or die('Le fichier ne peut être ouvert');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f2 = fclose($handle);
$msg .= $b.$f;
$msg .= 'Content-type:'.$pj['ext'].';name='.$pj['nomFichier'].$f; // $pj['ext'] = soit application/pdf, soit image/jpeg
$msg .= 'Content-transfer-encoding:base64'.$f.$f;
$msg .= 'Content-Disposition: attachment'.$f.$f;
$msg .= $content.$f;
}
}
$msg .= $b.$f;
}
return array('message'=>$msg, 'headers'=>$h);
?> |
Partager