Bonjour,
Alors voila j'essaye de creer un mail automatique et de l'envoyer en php, mais j'ai le problème suivant : le logo (attachement) ne s'affiche pas, et les informations du boundary s'affichent dans le mail et du début du message (encodage)
Voila le code associé :
Si un sauveur se cache parmi vous, n’hésitez pas à vous montrer ^^
Alors voila j'essaye de creer un mail automatique et de l'envoyer en php, mais j'ai le problème suivant : le logo (attachement) ne s'affiche pas, et les informations du boundary s'affichent dans le mail et du début du message (encodage)
Voila le code associé :
<?php
// ini_set('SMTP','smtp.free.fr');
// date_default_timezone_set('Etc/GMT+2'); //fuseau horaire obligatoire pour l'envoie d'une piece jointe
//
$chemin='clientsARelancer.csv';
$delim='|';
$fichier=fopen($chemin, 'r'); //on ouvre le fichier en lecture
while($info= fgetcsv($fichier, 1000, $delim ))
{
$numCommande=$info[0];
$numFacture=$info[1];
$nomClient=$info[2];
$prenomClient=$info[3];
$mailClient=$info[4];
$adresse1Client=$info[5];
$adresse2Client=$info[6];
$codePostalClient=$info[7];
$villeClient=$info[8];
$telClient=$info[9];
$refCommande=$info[10];
$dateCommande=$info[11];
$montantCommande=$info[12];
// echo '<h1>Recap</h1><br/>';
// echo $numCommande.'<br/>';
// echo $numFacture.'<br/>';
// echo $nomClient.'<br/>';
// echo $prenomClient.'<br/>';
// echo $mailClient.'<br/>';
// echo $adresse1Client.'<br/>';
// echo $adresse2Client.'<br/>';
// echo $codePostalClient.'<br/>';
// echo $villeClient.'<br/>';
// echo $refCommande.'<br/>';
// echo $dateCommande.'<br/>';
// echo $telClient.'<br/>';
// echo $montantCommande.'<br/><br/>';
$boundary = "-----=".md5(uniqid(rand()));// definition de la limite entre differentes parties du mail
// $header = "From: \"samuel@krysalidesign.com\"– FERYL EDITIONS (société KRYSALIDESIGN)\n";
//$header = "From : $expediteur \r\n";
//$header = 'From: "FERYL EDITIONS (société KRYSALIDESIGN)"<adresse@fai.fr>'."\n";
//Generation de l'entete du mail
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n"; // saut de ligne pour terminer le header
//1ere étape : insertion du texte
$message = "--$boundary\r\n";
$message .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
$message .= "Content-Transfer-Encoding:8bit\r\n"; //encodage du texte
$message .= "\r\n";
$message .= "Bonjour, \n\n";
$message .= "Sauf erreur de ma part, la facture numéro ".$numFacture." du ".$dateCommande." et d'un montant de ".$montantCommande."€ TTC n'a pas été réglée. (Ouvrage concerné : Les Prélats de Faneas – ISBN : 9782956137801) \n";
$message .= "Merci de prévoir son règlement avant le 31/01/2019 : \n";
$message .="\r\n";
//$message .= "--$boundary--\r\n";
//2eme étape : Insertion du logo
$logo= 'img/logo.jpg';
$logoOpen= fopen($logo, 'rb');
$attachement = fread($logoOpen, filesize($logo));
fclose($logoOpen);
$attachment = chunk_split(base64_encode($attachment));
$message .= "--$boundary\r\n";
$message .= "Content-Type: image/gif; name=\"$logo\"\r\n";
$message .= "Content-Transfer-Encoding: base64\r\n"; //encodage de la PJ
$message .= "Content-Disposition: inline; filename=\"$logo\"\r\n"; // choix pour que la piece jointe s'affiche directement dans le navigateur
$message .= "\r\n";
$message .= $attachment . "\r\n"; // ajouter le fichier
$message .= "\r\n\r\n";
$message .= "--$boundary--\r\n";
//définition des variables contenant les données pour l'envoie du mail
$expediteur = 'test@gmail.com';
$destinataire = 'autreTest@gmail.com';
$objet = 'Relance facture impayée 2018 '.$numFacture;
$header="From: $expediteur \r\n";
//envoie du mail
mail($destinataire, $objet, $message, $header);
}
fclose($fichier);
//affichage du texte à l'ecran
echo 'Les mails de rappel d\'impayés ont été envoyés <br/>';
echo '<a href="index.php">Retour à la boutique</a>';
?>
Si un sauveur se cache parmi vous, n’hésitez pas à vous montrer ^^