Support et annonces PhpMyNewsLetter.
Vous n'êtes pas identifié(e).
Bonjour PC,
Jusqu à la dernière version on supprimait les utilisateurs qui se désabonnaient.
Dés la prochaine version, et pour faire suite à plusieurs demandes, il sera possible de connaître les utilisateurs qui se désabonnent.
Il appartiendra aux administrateurs à veiller au bon respect des lois et de ne pas réactiver ces utilisateurs.
Ils pourront également purger ces listes ce désabonnes.
Ceci permettra un suivi plus fin des statistiques.
Demande reçue !
Bonne journée
Arnaud
Bonsoir Manou,
Je suis un peu en congés, alors je n'ai pas tout sous les yeux.
La ligne 83 concerne la recherche du type d'erreur, l'explication (findStatusExplanationsByCode) à partir du code retourné par "$result = $cwsMailBounceHandler->processMails();"
Il se pourrait donc que la ligne $item['recipients'][0]['status'] ne soit pas renseignée et donne donc une erreur "Undefined offset".
Je préconise l'ajout d'un var_dump de $item avant chaque boucle :
foreach($result['msgs'] as $item){
var_dump($item);
$expl = $cwsMailBounceHandler->findStatusExplanationsByCode($item['recipients'][0]['status']);
if($item['processed']&&$item['recipients'][0]['action']=='failed'&&$type_env=='prod'){
UpdateEmailError($cnx,$row_config_globale['table_email'],$list_id,$item['recipients'][0]['email'],
$item['recipients'][0]['status'],$item['recipients'][0]['bounce_type'],$item['recipients'][0]['bounce_cat'],
$expl['third_subcode']['title'],$expl['third_subcode']['desc']);
UpdateEmailSendError($cnx,$row_config_globale['table_send'],$list_id);
}
}et de donner le résultat pour une analyse ultérieure.
Attention, certaines erreurs sont normales dans les traitements, tout ne méritant pas d'être parfaitement traité (mais qui le sera un jour c'est sûr !)
Il faut donc se mettre en mode production pour ne pas afficher toutes les erreurs (Administration > configuration globale > onglet environnement > paramètre environnement > production)
Bonne soirée et désolé du retard, suis un peu en vacances ;-)
Bonjour Manou
C est un nouveau sujet il faudrait ouvrir un nouveau fil dans le forum support général.
Merci d y préciser également pour cette question ton type d hébergement.
Bonne journée
Arnaud
Bonjour cc17000,
Et bienvenue dans le forum du support.
La première chose à faire est de créer une liste de test ! Je ne le répéterai jamais assez ! Une liste avec une dizaine de mails. Comme tout script ou logiciel, phpmynewsletter doit se roder à votre environnement et vous aurez toujours un petit tunning à faire.
Ensuite, il me faudrait quelques renseignements supplémentaires :
- quel hébergeur ? (Si payant, merci de préciser la formule d'hébergement)
- quel environnement ? (version de php, une copie du phpinfo serait idéale (cacher les infos sensibles), version de mysql, version du serveur (apache, nginx,IIS...))
- combien de mails à envoyer ?
- une liste d'essai a été testée ? Si oui, merci de poser ici le log pour que l'on en discute (on cache un peu les mails, SVP)
- L'envoi qui bug est-il en live (ça a l'air d'être le cas, vu la barre de progression qui stoppe) ou planifié ?
Merci d'avance,
Arnaud
Hello pouyan.kh,
I read all the scripts and your log.
I think you've got a problem with mysql who is very slow, that, or your smtp connection...
Because there is only one loop.
The process you have :
- i take a mail
- i send a mail
- i update DB
Time is going and search for the next mail to send. The first is updated as send, so phpmynewsletter takes it again to send.
In my log, a mail takes only 0.10 to 1.15 to go away :
============================================================
04 Oct 2014
Started at 17:07:34
N° Date Time Status Recipient
------------------------------------------------------------
1 17:07:34 0.149 OK *****@yahoo.fr
2 17:07:37 0.124 OK *****@gmail.com
3 17:07:41 0.121 OK *****@*****.info
4 17:07:44 0.105 OK *****@hotmail.com
5 17:07:48 0.122 OK *****@gmx.com
6 17:07:51 0.109 OK *****@gmail.com
------------------------------------------------------------
Finished at 17:07:52
============================================================
Taille de la mémoire swap : 0
Nombre de pages mémoires utilisées : 0
Temps utilisateur (en secondes) : 0
Temps utilisateur (en microsecondes): 16001Yours mails are send with 3 to 4 seconds, it's very long !
============================================================
14 Feb 2015
Started at 22:18:25
N° Date Time Status Recipient
------------------------------------------------------------
1 22:18:39 4.062 OK **********@gmail.com
2 22:18:43 3.625 OK **********@yahoo.com
3 22:18:46 3.718 OK **********@gmail.com
------------------------------------------------------------
Finished at 22:18:46
============================================================
1 22:18:53 4.078 OK **********@gmail.com
2 22:18:57 3.640 OK **********@yahoo.com
3 22:19:00 3.765 OK **********@gmail.com
------------------------------------------------------------
Finished at 22:19:00
============================================================
------------------------------------------------------------
Finished at 22:19:05
============================================================
------------------------------------------------------------
Finished at 22:19:08
============================================================And it writes 4 time the script finished, so you've got bug mysql or smtp.
I'm looking, i need a short time.
I need more info could you send me the last log to arnaud at phpmynewsletter dot com please.
Did you create a short list to try it ?
You're welcome ;-)
Give us feed
Hello pouyan.kh
Now i understand !
You want to write a mail for the manager and use his account to send it.
OK.
3 ways :
- send it with php.... Forget, not a good solution
- your smtp doesn't need an account, it works (you can try it with an other list you'll create in the manager : add a list, prepare it with your mail(sender) and add a mail in the list, write, and send).
- your smtp needs an account : another 2 ways :
the smtp must be the account of the sender : the script doesn't manage it today
the smtp needs an account who can different of the manager account : you can put your account and send with the mail of your manager
So, this is my suggestion, and i think it will works, because to send a mail, in 98% of the time, the account for smtp doesn't need to be the account of the mail :
- create a new list (test list)
- add a mail for sender (whatever you want, but different of account smtp)
- add a mail for receiver (your mail for example)
- use your smtp account
- send, and say us...
For the "en cours d'envoi" :
- go to include/mailq.php
- line 20 and 47, change
echo '<a>pas de mail en cours d\'envoi</a>';to anything else
And line 45 :
echo '<a href="?page=manager_mailq&list_id='.$list_id.'&token='.$_SESSION['_token'].'" title="see and manage mails in process" class="tooltip">'.$mails_en_cours.' mails in process</a>';change the title and the link.
"Tester ces paramètres" :
go to global conf, bounce, and at the bottom of the page, you will have your parameters to manage bounce.
So yes, bounce go to your mailbox (the one of your manager) and read all the mail to find mails in error.
(I have to change the results, because as you said, the manager pass, like others, doesn't need to be show...)
Hope i answered !
Have a nice day.
Plz, next week, i have 5 days for holidays, i'll try to give answers, but from my phone...
Arnaud
Hello pouyan.kh, happy to meet you, and welcome.
I'll try to give you the best answers (hope you'll understand my poor english
)
1 - If you manage your own server, so you can let 50 send mail for each curly (good word plz ?), so it will give 50 mails every 10 seconds. You'll need 3000/50*10=600 seconds ! Is it OK for you ?
2- I don't really understand the question, could you help me ?
3- after sending mails, you ll be redirect on a page, the tracking page, who will manage the mails who are not delivered. Look at your mailq (top left of the manager, it will say you 4 or 10 or n mails are waiting for send "en cours d'envoi", 3rd line)
Suggestions : no, this is not a bug, yes it's intentionnal. If you want to obfuscar the password, you'll have to deactivate the smtp test... Else it will be shown when you'll click on "Tester ces paramètres" (test these settings)
You propose to translate it in persian ! Oh yes, i would so happy !
For the next version, we'll work on a big translation, mutli-language, and persian is welcome of course ! Phpmynewsletter is utf-8 encoded, so no problem !
Many Thanks, really, in advance !
Regards,
Arnaud (and as i said in an other topic : excuse me for my so poooooooooooor english !)
Bonjour Thibault,
C'est très aimable à toi de l'avoir fait remarquer !
On va avancer, oui, et bonne nouvelle, un nouveau développeur se joint au projet (et un sacré développeur
)
Ça laisse environ 8 mois...
Bien cordialement aussi,
Arnaud
Mais il n'y a pas de soucis

Hello Rene, happy to see you back,
I'm working on the newer version, the 2.0.4. I need 2 month, i hope april 2015.
I want it to be multilanguage, yes, and to have, at first, all in english, would be a good thing.
A file with all the sentence, words, to translate will be available for all, to translate in other language...
I hope you understand me
Have a nice day,
Arnaud
Bonjour Eon,
Oui ! C'est même recommandé ! Il suffit tout d'abord de sélectionner la liste dans la "liste des listes", donc surlignée en vert, puis dans le menu gauche cliquer sur "Export des abonnés".
Tout simplement 
Donc complètement indispensable !
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 !
Exactement !
Re-
Alors... Très intéressant, mais questions et remarques :
- De quel texte extrait on ces mails ?
- il y a un test sur les doublons dans les imports de liste et dans les ajouts de mail via opt-in, donc pourquoi refaire un contrôle des doublons ?
- Attention : les forms, c'est bien de les nommer de manière unique dans le script global, exemple : nom1, c'est pas...Enfin, tu vois ce que je veux dire
- Remarque super importante : toutes les pages sont normalement encodées en utf-8. Je ne code pas les é, è etc en D& eacute; etc... Merci.
Sinon, je crois que c'est vraiment utile, oui c'est clair, mais devrait plutôt se rapprocher d'un process d'import global de mails dans un texte, dans une liste qui serait en fait une extraction d'une base ou autre pour enrichir une liste déjà existante... Autrement dit, quelque soit le modèle des données importées, l'import se fait quand même, et cela rejoint le post : http://www.phpmynewsletter.com/forum/vi … php?id=115
Merci pour toute tes réponses
Je trouve ta manière de coder super clair
Merci !!
Je ne veux pas que l'on se perde avec des frameworks et comme Rasmus les aime... Je plussoie !
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.
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.
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.
tu es brutal ici
![]()
$cnx->query("DELETE FROM $table_email WHERE email='$addr' AND list_id='$list_id'")shouttéé les désabo
![]()
tu les aime pas ?
Et ? Je ne comprends pas ! On se désabonne, on se désabonne, la loi est claire 
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é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é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)
Merci beaucoup !
I'll give back ;-)
Bon week end
Arnaud
C'est toujours un plaisir 
Alors effectivement c'est tout à fait possible.
Le cas présenté était typiquement un cas windows avec php.ini non paramétré pour un envoi.
Si tu veux envoyer plus de 500 mails, il faudra alors faire un rapide calcul, sachant que par défaut on envoie 50 mails toutes les 10 secondes.
Il te faudra donc dans ton cas envoyer en 3600 secondes 500 mails maxi, sachant que l'on a 360 boucles, donc 1 mail à chaque boucle... Je sais, c'est ballaud, mais c'est comme ça...
1000 mails : 10000 secondes (3 heures...) peut être envisager de basculer sur un VPS ou un dédié...
(paramétrage dans configuration générale >> envois >> NOMBRE DE MESSAGES EXPÉDIÉS À CHAQUE BOUCLE D'ENVOI)
Bonne journée
Arnaud
Bonjour eon
et bienvenue sur le forum.
En fait, ce n'est pas un bug (je déplacerai le sujet), mais une question liée au support.
Je suis convaincu que tu utilises phpmynewsletter en local (donc sur un localhost), que tu veux envoyer des mails depuis ton localhost.
En fait, cette erreur survient quand le php.ini n'est pas renseigné dans sa clause SMTP.
Il faudra donc ouvrir ce fichier, et mettre à jour le SMTP, smtp_port et sendmail_from (par la même occasion).
Je pense également que ton localhost est un windows.
Il s'agit donc en fait de mettre à jour les paramètres de connexion qui permettront à PhpMailer de générer et gérer l'envoi des mails de ta liste.
Merci de nous donner un retour.
Arnaud
Hello Rene,
The next version will have more trnaslation.
I had to rewrite the whole script, i did it (dirty so) in french.
I will have to prepare a big file for translation, it will start in english and i will need translation.
I will post when it will be ready to translate for and by the community.
Thx in advance,
Arnaud
PS : it's a big (but wonderful) work, i'm alone today...