Annonce

[15 février 2017] Publication de Wanewsletter 3.0.1

#1 2016-02-04 17:13:53

Ara44
Membre
Inscription : 2016-02-04
Messages : 13

Problème d'envoi

Bonjour,

J'ai un petit problème avec l'envoi de newsletters via Wanewsletter.
L'installation s'est parfaitement déroulée, j'ai donc envoyé une newsletter HTML test.

Hélas, aucun envoi, elle est bien en table  wa_log, mais le log_status reste à 1, et rien ne bouge.

J'ai plusieurs sites à la même configuration, et dans les autres, ça a toujours parfaitement fonctionné...

Je suis un peu au bout du debug là, je ne trouve pas...

Merci d'avance à vous !

Hors ligne

#2 2016-02-05 00:51:26

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 274

Re : Problème d'envoi

Bonsoir,

Vous devez aller sur la page envoi puis dans "liste des envois en cours" pour y trouver la newsletter en attente d'envoi. Relancez l'envoi. Quel est le message renvoyé par le script ?

Quelle version de wanewsletter utilisez-vous ?


PHP et MySQL, un duo gagnant !

Hors ligne

#3 2016-02-05 08:39:11

Ara44
Membre
Inscription : 2016-02-04
Messages : 13

Re : Problème d'envoi

Bonjour,

Merci de la réponse.
Et bien maintenant que je veux retourner à l'administration, j'ai un message d'erreur. :

-----------------------------------------------------------------------------

J'ai installé la newsletter 2.3.4

Merci,
Impossible d'obtenir les données des listes de diffusion

SQL query :
SELECT li.liste_id, li.liste_name, li.liste_format, li.sender_email, li.return_email,
li.confirm_subscribe, li.liste_public, li.limitevalidate, li.form_url, li.liste_sig,
li.auto_purge, li.purge_freq, li.purge_next, li.liste_startdate, li.use_cron, li.pop_host,
li.pop_port, li.pop_user, li.pop_pass, li.liste_alias, li.liste_numlogs, aa.auth_view, aa.auth_edit,
aa.auth_del, aa.auth_send, aa.auth_import, aa.auth_export, aa.auth_ban, aa.auth_attach, aa.cc_admin
FROM wa_liste AS li
LEFT JOIN wa_auth_admin AS aa ON aa.admin_id =
AND aa.liste_id = li.liste_id
ORDER BY li.liste_name ASC

SQL errno : 1064
SQL error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND aa.liste_id = li.liste_id ORDER BY li.liste_name ASC' at line 8

Fichier : class.auth.php Ligne : 102

-----------------------------------------------------------------------------

Hors ligne

#4 2016-02-05 10:14:41

Ara44
Membre
Inscription : 2016-02-04
Messages : 13

Re : Problème d'envoi

J'ai réinstallé wanewletter 2.3.4.. Je réaccède à l'administration.

L'installation s'est bien passé, je créée une liste et envoie une newsletter.
Mais toujours rien, le log_status reste à 1 et rien ne bouge.

En allant sur "Envoi", je ne trouve pas "Liste des envois en cours" seulement la sélection d'une liste, et "Valider"...

Merci d'avance,

Hors ligne

#5 2016-02-05 13:48:01

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 274

Re : Problème d'envoi

Mais une fois que vous avez sélectionné votre liste sur la page envoi, vous arrivez sur le formulaire d'édition des newsletters et vous avez deux liens en dessous du bloc de texte explicatif : "Charger une newsletter" et "Liste des envois en cours".


PHP et MySQL, un duo gagnant !

Hors ligne

#6 2016-02-05 14:00:54

Ara44
Membre
Inscription : 2016-02-04
Messages : 13

Re : Problème d'envoi

Justemement non, rien ne se passe, je valide, et ça reste à la même interface.

Hors ligne

#7 2016-02-05 14:39:34

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 274

Re : Problème d'envoi

Sur l'écran où on vous demande de sélectionner une liste, vous en choisissez une et validez, et vous retombez sur la même page et pas sur le formulaire d'édition des newsletters ? Si oui, comment avez-vous fait pour créer une newsletter et lancer l'envoi (elle se retrouve alors avec log_status à 1) ? Ça devait marcher avant. Vous devriez peut-être vous déconnecter/reconnecter à/de l'interface.


PHP et MySQL, un duo gagnant !

Hors ligne

#8 2016-02-05 14:43:44

Ara44
Membre
Inscription : 2016-02-04
Messages : 13

Re : Problème d'envoi

Ah oui pardon, j'utilise des newsletters externes créées avec notre propre programme, mais qu'on envoie avec le script wanewsletter.
Je les insère directement dans wa_log.

Mais sur tous les autres sites, ça marche parfaitement, mais là rien...

Pour info, c'est la même config php, 5.3.8.

Merci d'avance,

Hors ligne

#9 2016-02-05 14:55:16

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 274

Re : Problème d'envoi

Ah, d'accord. Donc les newsletters sont ajoutées dans wa_log à partir d'un autre script. Ensuite, vous utilisez quelle procédure pour faire les envois ? Vous passez par envoi.php => "liste des envois en cours", ou bien vous utilisez contrib/wanewsletter en ligne de commande ?


PHP et MySQL, un duo gagnant !

Hors ligne

#10 2016-02-05 14:58:43

Ara44
Membre
Inscription : 2016-02-04
Messages : 13

Re : Problème d'envoi

Ensuite, c'est un cron externe qui, si une newsletter a un wa_log à 1, exécute "envoi.php?mode=progress&id=".$log_id."&liste_agri85=".$liste_id."&idAdmin=".$retAdmin['admin_id']".

En débuggant, le programme va bien jusqu'à envoi.php, puis exécute bien engine_send (du moins y accède) , mais rien ne se passe.

Hors ligne

#11 2016-02-05 15:06:11

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 274

Re : Problème d'envoi

Ok, fallait préciser dès le départ que vous aviez modifié le script big_smile

Question: par cron externe, vous entendez appel http depuis un autre serveur sur l'url ...envoi.php?mode=progress...etc ?
Car il y a un script dédié pour ce type de procédure : options/cron.php

Il n'y a pas de vrai service cron sur votre serveur ? Cela vous permettrait d'utiliser le script dédié à cet usage (contrib/wanewsletter).


PHP et MySQL, un duo gagnant !

Hors ligne

#12 2016-02-05 15:13:42

Ara44
Membre
Inscription : 2016-02-04
Messages : 13

Re : Problème d'envoi

Non, c'est un cron du serveur, mais j'entendais par "externe" le fait que ce n'est pas le cron wanewsletter.

Le cron fonctionne bien, puisqu'il accède bien à mon script, qui si une newsletter est à log_status=1 exécute envoi.php.
Mais c'est après que rien ne se passe...

D'autre part, merci beaucoup de votre réactivité !

Hors ligne

#13 2016-02-05 15:19:48

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 274

Re : Problème d'envoi

Quand votre cron appelle "envoi.php?mode=progress&id=".$log_id."&liste_agri85=".$liste_id."&idAdmin=".$retAdmin['admin_id']", quel est le retour obtenu ?


PHP et MySQL, un duo gagnant !

Hors ligne

#14 2016-02-05 15:37:17

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 274

Re : Problème d'envoi

Vous avez bien un retour avec $ret.

Manifestement, envoi.php a été modifié pour renvoyer la chaine "true" en cas de succès, mais en cas de problème, ça renvoie quoi ? vous devriez faire un echo $ret après curl_close($ch); pour qu'on y voie plus clair.

PS: Ne le prenez pas mal, mais pourquoi ne pas avoir utilisé le script options/cron.php ?


PHP et MySQL, un duo gagnant !

Hors ligne

#15 2016-02-05 15:46:59

Ara44
Membre
Inscription : 2016-02-04
Messages : 13

Re : Problème d'envoi

J'ai effectué la démarche, $ret ne renvoie rien...

PS : A vrai dire, ce n'est pas moi qui l'ait installé sur les autre sites à l'origine, c'est mon prédécesseur.
Pour ce site assez similaire, j'ai copié sa façon de faire.

Hors ligne

#16 2016-02-05 15:52:37

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 274

Re : Problème d'envoi

Donc vous avez repris ce script perso pour automatiser les envois. Mais pour ce qui est de wanewsletter, vous dites que vous venez de l'installer, mais vous l'avez récupéré où ?

edit : Ajoutez var_dump(curl_getinfo($ch, CURLINFO_HTTP_CODE)); avant la ligne curl_close($ch); et dites moi ce que ça indique.


PHP et MySQL, un duo gagnant !

Hors ligne

#17 2016-02-05 15:53:58

Ara44
Membre
Inscription : 2016-02-04
Messages : 13

Re : Problème d'envoi

Pour le dossier, j'ai repris la version 2.3.4 du site wanewsletter.

Hors ligne

#18 2016-02-05 15:58:37

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 274

Re : Problème d'envoi

Voilà l'origine de vos problèmes.

Le script perso que vous utilisez est basé sur l'utilisation d'une version modifiée de wanewsletter, et non pas la version officielle disponible sur phpcodeur.net.

Votre prédécesseur a créé ce script perso, mais il a aussi modifié le code de wanewsletter pour qu'envoi.php soit accessible sans devoir s'authentifier (c'est dangereux) et renvoie une réponse facile à analyser : "[REP] true".

En somme, votre script ne pourra pas marcher avec la version d'origine de wanewsletter.

Deux choix s'offrent à vous :

1/ Récupérer une de ces versions modifiées de wanewsletter présente sur l'un des autres sites, la copier, puis supprimer config.inc.php et le contenu des dossiers upload/ stats/ et tmp/. Puis faire l'installation.

2/ Rester sur la version d'origine de wanewsletter et adapter votre script perso pour qu'il utilise tout simplement le script options/cron.php.


PHP et MySQL, un duo gagnant !

Hors ligne

#19 2016-02-05 17:14:38

Ara44
Membre
Inscription : 2016-02-04
Messages : 13

Re : Problème d'envoi

Merci de toutes ces informations.

En fait, c'était le script modifié qui ne fonctionnait pas avec cette version de waneswletter, mais avec la 2.3.3.
Je laisse comme ça temporairement, mais utiliserai sûrement la 2nde solution incessamment sous peu.

En fait, le fonctionnement sera similaire si mon cron redirige vers options/cron.php, si j'ai bien compris ?

Merci beaucoup en tout cas.

Hors ligne

#20 2016-02-05 17:29:09

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 274

Re : Problème d'envoi

Oui, il suffira d'appeler .../options/cron.php?mode=send&liste=x
Par contre, cron.php retourne une réponse textuelle, par exemple "L'envoi a bien été effectué avec succès".
Il faudra donc faire de légères modifications pour que cron.php renvoie une réponse que vous puissiez analyser facilement dans votre script (par exemple: "[REP]true" ou "[REP]false" selon le cas...)

Je vais ajouter sur ma todo list la possibilité d'obtenir une réponse au format json lorsqu'on utilise cron.php ou contrib/wanewsletter. Ça devrait faciliter les choses.


PHP et MySQL, un duo gagnant !

Hors ligne

#21 2016-02-11 17:38:15

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 274

Re : Problème d'envoi

Salut,

J’ai validé les modifications :
https://github.com/wascripts/wanewslett … f42e7a10b0

En appelant cron.php avec une url comme ...cron.php?mode=send&liste=3&output=json, le retour sera :

{
    error: false,
    message: "L’envoi a bien été effectué... blabla..."
}

Ce sera disponible dans wanewsletter 3.0-beta2 quand elle sera publiée smile


PHP et MySQL, un duo gagnant !

Hors ligne

Pied de page des forums