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
| function Envoi_Mail_en_Masse($lib_expediteur, $expediteur, $destinataire, $sujet, $texte, $idMail){
require_once 'classes/class_mail_pieces_jointes.php';
$AllPiecesJointes = new mail_pieces_jointes($GLOBALS['bdd']);
// permet de définir les différentes parties du mail
$limite = "----=_Part_".md5(uniqid(rand()));
// Pour envoyer un mail HTML, l'en-téte Content-type doit étre défini
$headers = 'MIME-Version: 1.0' . "\r\n";
//$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .="Content-Type: multipart/mixed; boundary=$limite\r\n";
// En-tétes additionnels
// Toutes les adresses sont envoyées en BCC pour étre masquées
$headers .= "From: $lib_expediteur <$expediteur>" . "\r\n";
if ($Environnement == "TEST") $headers .= "Cc: $expediteur" . "\r\n";
$headers .= "Bcc: $destinataire" . "\r\n";
$corp_mail = "--".$limite."\n";
$corp_mail .= "Content-Type: text/html; charset='iso-8859-1'\n";
$corp_mail .= $texte;
echo "<hr>Texte : $texte";
echo "<hr>corp_mail : $corp_mail";
// fichiers joints à attacher
$attachement = "";
$LesFichiers = $AllPiecesJointes->selectAll($idMail);
foreach ($LesFichiers as $UnFic) {
$attachement .= "--".$limite."\n";
$attachement .= "Content-Type: text/plain; charset=iso-8859-1 name=" . $UnFic['Fichier'] . "\n";
$attachement .= "Content-Transfer-Encoding: base64\n";
$attachement .= "Content-Disposition: attachment; filename=" . $UnFic['Fichier'] . "\n\n";
// lecture du fichier présent sur le serveur
$fd = fopen($UnFic['Fichier'],"rb");
$contenu = fread($fd,filesize($UnFic['Fichier']));
fclose($fd);
// encodage en base64 pour que le fichier soit lisible
$attachement .= chunk_split(base64_encode($contenu));
}
// on ferme ensuite toutes les parties du mail
$attachement .= "\n\n--".$limite."--\n\n";
/*$corp_mail = "<html><body>
<center><h1A>Club de plongée de Cluses</h1A></center>
$lemail
</body></html>";*/
$corp_mail .= $attachement . "--".$limite."\n";
if ($Environnement == "TEST") {
$sujet = "/!\/!\ ENV TEST /!\/!\ - " . $sujet;
$corp_mail = "<font color='red'>----- ENVIRONNEMENT DE TEST -----</font><br><br>" . $corp_mail;
}
// en local, on appele pas la fonction mail, par contre, on affiche le corps du mail
if ($_SERVER['HTTP_HOST'] != "127.0.0.1") {
@mail($destinataire, $sujet, $corp_mail, $headers);
//@mail("bidon@toto.fr", $sujet, $corp_mail.$attachement, $headers);
}
else
Afficher_Mail($expediteur, $destinataire, $sujet, $corp_mail);
} |
Partager