Le 06/11/2017 à 08:10, amilcar a écrit :
ah la je suis interessé
puisque j'utilise newsletter
je peu savoir comment faire ?
Dans un fichier mes_fonctions.php
il faut ecrire une fonction de ce type
function mailsubscribers_synchro_list_newsletter_relance(){
include_spip('base/abstract_sql');
$dans10jours= new DateTime("+ 10 days");
$dans20jours= new DateTime("+ 20 days");
$dans30jours= new DateTime("+ 30 days");
$les_inscrits=sql_allfetsel('id_auteur, email,prenom, validite",
"spip_auteurs",
validite='".$dans10jours->format('Y-m-d')."'
OR validite='".$dans20jours->format('Y-m-d')."'
OR validite='".$dans30jours->format('Y-m-d')."'
);
return $les\_inscrits;
}
cette fonction que j'ai simplifiée ci dessus fait une requete sur la table spip_auteurs, remonte 4 champs dont le champs email qui est obligatoire pour la suite, si le champ "validite" (champ extra sur la table spip_auteurs) est égal à une des 3 dates (10, 20, 30)
La fonction retourne un array "$les_inscrits" qui est exploité ensuite par le plugin newsletter (gaffe a pas remonter des milliers d'enregistrements non plus)
Tu dois ensuite aller dans : ecrire/?exec=configurer_mailsubscribers (je trouve jamais le bouton pour y acceder) et là tu dois ajouter une nouvelle liste qui aura pour identifiant la terminaison du nom de ta fonction déclarée précédemment, dans mon cas donc : "relance" (mailsubscribers_synchro_list_newsletter_xxx)
tu auras donc une nouvelle liste de diffusion qui se remplira automatiquement tous les jours, il te faudra rédiger une infolettre pre programmée sur 'tous les jours' à envoyer sur la liste 'relance'
Et c'est tout... Le cron va passer tous les jours et va expedier les newsletters programmées...
Apres, dans ton cas à toi, faut bien sur adapter la requete pour aller chercher le champ correspondant à la date de fin de validité dans la bonne table...
C'est pas totalement intuitif, mais pas très compliqué non plus, j'utilise depuis des années...
n hesite pas a demander si tu tentes cette solution
amicalement
triton