PhpMyNewsLetter 2.0

Support et annonces PhpMyNewsLetter.

Vous n'êtes pas identifié(e).

Annonce

Pour me permettre de mieux vous aider au mieux, merci d'être le plus précis possible en donnant :
- la version de phpmynewsletter utilisée
- votre hébergement : personnel, dédié, mutualisé
- votre hébergeur (OVH, free, Infomaniak, 1and1,...)
- votre OS : linux, windows
- version de PHP (5.3, 5.6, 7.0, hhvm...)
Toutes les réponses à mes questions qui sont sans retour de votre part seront considérées comme résolues !

#1 07-02-2015 08:47:16

phpSources
Membre

Quelques erreurs et taches planifiées

Hello,

Félicitation pour cette application, elle est géniale!!

J'ai quelque petites erreurs, rien de bien grave, hormis pour la desinscription peut-etre
Je ne sais pas si c'est du a ma conf, je suis sur un dédié.

index.php?page=manager_mailq
Notice: Undefined index: list_id in /var/www/site.com/htdocs/admin251/include/manager_mailq.php on line 72

index.php?page=archives
Fatal error: Call to undefined function info_msg() in /var/www/site.com/htdocs/admin251/include/archives.php on line 27

online.php
Notice: Undefined variable: msg_id in /var/www/site.com/htdocs/admin251/online.php on line 28

subscription.php
> page blank

Ca serait possible d'avoir plus d'infos sur les taches planifiées, comment ca fonctionne exactement ? Comment ca se lance ?

16 14 7 2 * /usr/bin/php /var/www/site.com/htdocs/admin251/include/task.php pmnl2_StdWYR >/dev/null # JOB : pmnl2_StdWYR list_id : 3 msg_id : 1 date : 2015-02-07 06:14:41###

Imaginons que j'ai 10 000 mails, comment répartir cela sur 24 heures avec phpMyNewsletter ?

Hors ligne

#2 07-02-2015 11:00:33

Arnaud
Administrateur

Re : Quelques erreurs et taches planifiées

Bonjour et bienvenue sur ce forum d'entraide.

Je pense, au vu du pseudo, avoir affaire à quelqu'un qui n'est pas ignorant du php ;-) Alors merci pour les compliments.

Vu qu'il y a les tâches planifiées et vu ce que je lis, nous sommes en linux, sur un dédié, en version 2.0.3.

Les erreurs s'affichent, car dans le paramètre développement a été activé. Celui ci permet d'afficher toutes les erreurs (plus ou moins grosses) dans le cadre d'un développement personnalisé de l'outil.
C'est du debbugage !

Les erreurs :

index.php?page=manager_mailq
Notice: Undefined index: list_id in /var/www/site.com/htdocs/admin251/include/manager_mailq.php on line 72
Dans :

<td><a href="?page=manager_mailq&action=delete_id_from_mailq&list_id='.$item['list_id'].'&token='.$token.'&id_mailq='.$item['id'].'" class="tooltip" title="Supprimer ce mail, ID : '.$item['id'].'" onclick="return confirm(\'Supprimer ce mail de la file des envois ?\')"><input type="image" src="css/icn_trash.png"></a></td>

Il faudrait remplacer $item['list_id'] par $list_id

index.php?page=archives
Fatal error: Call to undefined function info_msg() in /var/www/site.com/htdocs/admin251/include/archives.php on line 27

echo info_msg(translate("NO_ARCHIVE"));

A remplacer par

echo (translate("NO_ARCHIVE"));

online.php
Notice: Undefined variable: msg_id in /var/www/site.com/htdocs/admin251/online.php on line 28

$unsubLink = "<br /><div align='center' style='padding-top:10px;font-size:10pt;font-family:arial,helvetica,sans-serif;padding-bottom:10px;color:#878e83;'><hr noshade='' color='#D4D4D4' width='90%' size='1'>Je ne souhaite plus recevoir la newsletter : <a href='" . $row_config_globale['base_url'] . $row_config_globale['path'] . "subscription.php?i=$msg_id&list_id=$list_id&op=leave&email_addr=$e&h=$h' style='' target='_blank'>d&eacute;sinscription / unsubscribe</a><br /><a href='http://www.phpmynewsletter.com/' style='' target='_blank'>Phpmynewsletter 2.0</a></div></body></html>";

A remplacer par :

$unsubLink = "<br /><div align='center' style='padding-top:10px;font-size:10pt;font-family:arial,helvetica,sans-serif;padding-bottom:10px;color:#878e83;'><hr noshade='' color='#D4D4D4' width='90%' size='1'>Je ne souhaite plus recevoir la newsletter : <a href='" . $row_config_globale['base_url'] . $row_config_globale['path'] . "subscription.php?i=$i&list_id=$l&op=leave&email_addr=$e&h=$h' style='' target='_blank'>d&eacute;sinscription / unsubscribe</a><br /><a href='http://www.phpmynewsletter.com/' style='' target='_blank'>Phpmynewsletter 2.0</a></div></body></html>";

Concernant le sujet des tâches planifiées :

Il s'agit de planifier un envoi de newsletter à une date et une heure précise :

Objectifs :
- s'assurer du départ à la bonne heure (événement ou autre)
- envoyer de manière douce les mails (gestion respectueuse des hotmail, gmail, yahoo mail et compagnies autres)
- éteindre son ordinateur et ne pas regarder un envoi se faire
- éviter les erreurs d'envoi dus à une éventuelle coupure électrique du PC qui envoie les mails (ou réseau !)

Fonctionnement :
- au lieu d'appuyer sur envoyer, on clique sur planifier cet envoi.
- une tâche cron ira s'inscrire dans l'environnement du compte utilisateur php sur linux (ex : www-data), attention aux prérequis demandés !
- cette tâche sera exécutée aux date et heure prévus, exemple ici : le 7 février à 16:14

16 14 7 2 * /usr/bin/php /var/www/site.com/htdocs/admin251/include/task.php pmnl2_StdWYR

- une fois la tâche executée, elle est supprimée de la crontab.

Il est envoyé dans cette tâche 1 mail par seconde, donc 10000 mails seront envoyés en un peu plus de 3 heures.

Je déconseille de changer la cadence de cet envoi... Sauf à encore le ralentir !

Un membre m'a fait remonter son cas qui est d'envoyer 85000 mails par mois, de façon planifiée, 1 envoi par mois, et tout se passe bien.

Bien sur, tout est paramétrable, et les futures versions seront améliorées pour gérer les paramètres dans la console.

Ai-je répondu aux questions ?

Les erreurs signalées sont traitées et les fichiers sont à jour sur le dépôt github.
(https://github.com/Arnaud69/phpmynewsle … 51196b6569)


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#3 08-02-2015 01:22:03

phpSources
Membre

Re : Quelques erreurs et taches planifiées

Merci pour toute tes réponses
Je trouve ta manière de coder super clair

Je ne comprend pas dans quel environnement tu écris cette requête.
pourrais-tu détailler cette partie stp, les prérequis ?

- une tâche cron ira s'inscrire dans l'environnement du compte utilisateur php sur linux (ex : www-data), attention aux prérequis demandés !

J'ai bien GD d'installé mais j'ai cette erreur sur le tracking graph
JpGraph Error: 25128 The function imageantialias() is not available in your PHP installation. Use the GD version that comes with PHP and not the standalone version.

Ou se gère dans le code la fréquence pour un envoie classique ?
j'aimerais par exemple pouvoir distribuer 100 mails de l'heure.

tu es brutal ici wink

$cnx->query("DELETE FROM $table_email WHERE email='$addr' AND list_id='$list_id'")

shouttéé les désabo tongue
tu les aime pas ?

Hors ligne

#4 10-02-2015 19:32:22

Arnaud
Administrateur

Re : Quelques erreurs et taches planifiées

phpSources a écrit :

Merci pour toute tes réponses
Je trouve ta manière de coder super clair

Merci !! cool  Je ne veux pas que l'on se perde avec des frameworks et comme Rasmus les aime... Je plussoie !

phpSources a écrit :

Je ne comprend pas dans quel environnement tu écris cette requête.
pourrais-tu détailler cette partie stp, les prérequis ?

- une tâche cron ira s'inscrire dans l'environnement du compte utilisateur php sur linux (ex : www-data), attention aux prérequis demandés !

L'environnement d'un utilisateur Linux... Hmmm, c'est en fait tous les droits que cet utilisateur a, dont il dispose. C'est son environnement, son "Home"... Ce sera donc sa crontab.

phpSources a écrit :

J'ai bien GD d'installé mais j'ai cette erreur sur le tracking graph
JpGraph Error: 25128 The function imageantialias() is not available in your PHP installation. Use the GD version that comes with PHP and not the standalone version.

Il faut revoir l'installation de php, et mettre à jour la bibliothèque GDlib.

phpSources a écrit :

Ou se gère dans le code la fréquence pour un envoie classique ?
j'aimerais par exemple pouvoir distribuer 100 mails de l'heure.

Il y a 2 paramètres : le nombre d'envoi par boucles (paramètrable dans la console) et le rafraichissement qui est dans include/compose.php
Ce second paramètre sera intégré dans la future version.

phpSources a écrit :

tu es brutal ici wink

$cnx->query("DELETE FROM $table_email WHERE email='$addr' AND list_id='$list_id'")

shouttéé les désabo tongue
tu les aime pas ?

Et ? Je ne comprends pas ! On se désabonne, on se désabonne, la loi est claire  big_smile


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#5 11-02-2015 02:46:16

phpSources
Membre

Re : Quelques erreurs et taches planifiées

J'ai installer GD via PHP, ca fonctionne, mais je ne vois pas l'image.
Le problème est que l'image existe mais elle se trouve en dehors de la racine sur le root dans /temp, et ca c'est pas possible
Enfin sur aucun de mes serveurs je ne peux appeler du web un fichier en dehors de la racine.
Pourquoi ne pas mettre l'image dans le www data ?

Pour les désabo, c'est aux utilisateurs de phpMyNewsletter de respecter la loi. Il faudrait une purge si besoin.
Mais pour les stats il est impératif de conserver les désabonnés.
1° afin de nettoyer les listes faites en aval
2° avoir un visuel rapide du pourcentage de désabonnés sur 1 liste
3° savoir qui s'est désabonné
4° pouvoir purger les autres listes qui contiennent ces désabonnés

Hors ligne

#6 11-02-2015 09:15:14

Arnaud
Administrateur

Re : Quelques erreurs et taches planifiées

Les images sont stockées normalement dans le répertoire tracking_graph, c'est donc autre chose qui ne va pas, à voir dans la page include/tracking.php, peut être un problème avec le

<img src="<?php echo get_relative_path($tmpfname); ?>">

à la ligne 81.

Pour les autres points, oui, je suis d'accord, et ajouter une phase de purge ! Bien vu !


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

Pied de page des forums

Propulsé par FluxBB