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
|
SEND_MAIL($fromname, $fromaddress, $rplname, $rpladdress, $toaddress, $subject, $message, $pieces_jointes = "", $charset = "iso-8859-1", $format_HTML = true){
$msg = ""; // Message a renvoyer a la fonction mail() PHP
/* Separateur */
$limite = '_parties_'.md5( uniqid( rand() ) );
/* Gestion des headers */
$headers = "MIME-Version: 1.0\n";
$headers .= "X-MSMail-Priority: Normal\n";
$headers .= "X-Mailer: php\n";
if( $fromname == "" ){
$headers .= "From: ".$fromaddress."\n";
}else{
$headers .= "From: \"".$fromname."\" <".$fromaddress.">\n";
}
if( $rplname == "" && $rpladdress != "" ){
$headers .= "Reply-To: ".$rpladdress."\n";
}elseif( $rplname != "" && $rpladdress != "" ){
$headers .= "Reply-To: \"".$rplname."\" <".$rpladdress.">\n";
}
$headers .= 'Content-Type: multipart/mixed; boundary="----='.$limite.'"\n\n';
/* Gestion des pièces jointes */
if( is_array( $pieces_jointes ) && !empty( $pieces_jointes ) ){
$fichier = array();
$i = 0;
foreach( $pieces_jointes as $pj ){
$fichier[$i]['CONTENU'] = file_get_contents( $pj );
// Recuperation du type mime du fichier ( mime_content_type() : fonction PHP de base obsolète à partir de PHP 5.3 mais fonctionne encore sur les sites OVH)
$fichier[$i]['MIME'] = mime_content_type( $pj );
$temp_nom_complet = explode("/", $pj);
$temp_nom_comp = explode(".", $temp_nom_complet[ count($temp_nom_complet)-1 ]);
$temp_nom = array();
$j = count($temp_nom_comp) - 2;
for( $l=0 ; $l <= $j ; $l++ ){
$temp_nom[] = $temp_nom_comp[$l];
}
$temp_tab_nom = count( $temp_nom ) - 1;
$k = 0;
$fichier[$i]['NOM'] = "";
foreach( $temp_nom as $temp ){
if( $k != $temp_tab_nom ){
$fichier[$i]['NOM'] .= $temp.".";
}else{
$fichier[$i]['NOM'] .= $temp;
}
$k++;
}
$fichier[$i]['BASE64'] = chunk_split( base64_encode( $fichier[$i]['CONTENU'] ) );
$msg .= "------=".$limite."\n";
$msg .= "Content-Type: ".$fichier[$i]['MIME']."; name=\"".$fichier[$i]['NOM']."\"\n";
$msg .= "Content-Transfer-Encoding: base64\n";
$msg .= "Content-Disposition: attachment; filename=\"".$fichier[$i]['NOM']."\"\n\n";
$msg .= $fichier[$i]['BASE64'];
$i++;
}
}
/* Corps du mail HTML */
$msg .= "------=".$limite."\n";
if( $format_HTML ){
$msg .= "Content-type: text/html; charset=\"".$charset."\"\n\n";
}else{
$msg .= "Content-type: text/plain; charset=\"".$charset."\"\n\n";
}
$msg .= $message;
return mail($toaddress, $subject, $msg, $headers);
} |
Partager