Sur mon site internet (prestashop), je souhaite automatiser l'envoie d'une newsletter à mes clients, 1 par mois, en sélectionnant chaque jours les clients qui se sont inscrits ce jour là. Au niveau de la sélection des clients, c'est ok. et d'ailleurs, l'envoi marchait encore il y a quelques semaines, mais là, le mail envoyé est vide.
Je suppose qu'il doit y avoir une incompatibilité entre mon script et mon html, mais je n'y connais rien et le fait que ça marchait avant me perturbe.
Voici donc le code php,
<?php
// 21.01.21 - Webbax | autonewsletter tuto 126
require(dirname(__FILE__).'/../../config/config.inc.php');
//$token = Tools::getValue('token');
//if($token!='NEWS2835'){die('error token');}
// config
$from = 'contact@lyn-et-or-bijoux.com';
// sélectionne les clients inscrits à la date du jour
$sql = '
SELECT * FROM '._DB_PREFIX_.'customer
WHERE `deleted`=0
AND `active`=1
AND `newsletter`=1
AND `date_add` LIKE "%-'.pSQL(date('d')).' %"';
$customers = Db::getInstance()->executeS($sql);
dump($customers);
// tester pour un mail spécifique
//$customers = array();
//$customers[0]['email'] = 'jmarilyne28@gmail.com';
//die('ON STOPPE TOUT ;)');
$nb_mails_send = 0;
foreach($customers as $c){
$headers = "From: ".$from."\r\n";
$headers .= "Reply-To: ".$from."\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$base_url = Tools::getHttpHost(true);
$logo_url = $base_url._PS_IMG_ .Configuration::get('PS_LOGO');
$shop_name = Configuration::get('PS_SHOP_NAME');
//$subject = '';
//$message = '';
$subject = '☺ '.Configuration::get('PS_SHOP_NAME').' - Newsletter '.date('m-Y');
//$message = Tools::file_get_contents(dirname(__FILE__).'\\'.date('m').'-'.$c['iso_code'].'.html');
$message = Tools::file_get_contents('https://lyn-et-or-bijoux.com/modules/scripts/10-fr.html');
$message = str_replace('{firstname}',$c['firstname'], $message);
mail($c['email'],$subject,utf8_decode($message),$headers);
$nb_mails_send++;
}
echo 'Mails envoyés : '.$nb_mails_send;
?>
et le code html, je n'ai laissé que l'en-tete car sinon c'était trop long, et le problème doit venir de là...si besoin du reste, merci de me le dire.
Je précise que je m'étais basée sur un tuto de webbax pour le script, et de la rédaction de newsletter avec sendinblue, tout ça ne vient pas de moi. Merci d'avance de votre aide et bonne journée
Envoyer un email html (newsletter) avec script php
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.