Support et annonces PhpMyNewsLetter.
Vous n'êtes pas identifié(e).
Ajout de la GESTION DE LA REDACTION :
* blocage de l'accès à la preview tant que la sauvegarde initiale n'est pas faite
(risque de blocage sur planification d'envoi)
Alors il y a une règle simple à respecter au minimum : 1 mail maximum par seconde, quelque soit le destinataire...
Donc 12.000 mails en 1 heure, c'est 4 fois trop rapide...
Après chacun fait ce qu'il veut.
Si c'est géré, c'est encore mieux !
Mais je suis preneur de toutes les remarques 
Oui, je regarde (et vérifier les espaces aussi !)Par contre, si je publie un correctif, l'intégration ne sera qu'ne version 2.0.4
Re-,
Merci blopblop de ce retour.
Quel mode d'envoi utilises-tu ?
En combien de temps as-tu envoyé ces mails ?
(Pour info : un utilisateur que j'ai un peu aidé a mis en place une gestion de 73.500 mails, mais en smtp et en envois planifiés...)
Bonjour blopblop,
Merci pour la remontée de bug.
Enfin,... Un bug ? Je ne sais pas trop, en effet, les nombreuses langues à travers le monde amène à des caractères d'écritures différents et nombreux.
L'application doit-elle gérer ? On devrait dire oui.
Les enregitrements des pièces jointes en base de données se font en UTF-8, cela offre déjà une grande capacité de stockage des différentes écritures.
Si l'on part du principe que c'est pmnl qui doit gérer les écritures pour renommage, ça va être compliqué.
Il faudait donc gérer les PJ dans leur nom originel, car baptisées peut être sciemment par leurs auteurs.
Donc blopblop, comme tu dis, à creuser !
Ajout de la GESTION DU TRACKING :
* Calcul du taux d'ouverture (Open Rate)
* Calcul du ratio CTR (taux de clics sur envois) (CTR : Click Through Rates)
* Calcul du ratio ACTR (CTR ajusté : taux de clics sur ouvertures) (ACTR : Adjusted Click Through Rate)
Cause : pas vraiment un bug PhpMyNewsLetter, mais plutôt une vieille erreur JpGraph :
The function imageantialias() is not available in your PHP installation
Contournement :
Aller dans :
include/lib/jpgraph/src
Ouvrir le fichier :
jpg-config.inc.php
Aller ligne 137 et y ajouter :
define('ANTIALIASING', false);
if(!ANTIALIASING){
function imageantialias($image, $enabled){
return true;
}
}Pour information : JpGraph a été totalement supprimé de la version 2.0.4 pour être remplacé par amcharts (libraire pure javascript dynamique, responsive, animée...bref que du bonheur au développement
)
En sous domaine, les chemins d'accès à pmnl ne sont pas résolus.
correction :
il faut aller dans configuration globale, onglet réglages divers et dans la zone CHEMIN DE PHPMYNEWSLETTER, indiquer : / (juste un slash).
cause : chez certains hébergeurs, la récupération du chemin d'installation de PhpMyNewsLetter prend en compte le chemin complet.
On a alors /homepages/5/xxxxxxxx/htdocs/pmn/ au lieu de pmn, ce qui donne une url d'accès aux fichiers javascript (et autres fichiers) :
http://www.domaine.tld/homepages/5/xxxxxxxx/htdocs/pmn/
au lieu de
http://www.domaine.tld/pmn/
Correction :
aller dans configuration globale, onglet réglages divers et dans la zone CHEMIN DE PHPMYNEWSLETTER, indiquer "pmn/" (ou nom du répertoire d'installation : newsletter, pmn2, etc...
Cause : la cadence d'envoi des mails est trop élevée par rapport aux performances SQL pour les mises à jour.
Correction : passer le nombre de mails envoyés à chaque boucle à 5 maximum (problème récurrent chez 1and1 par exemple)
Ce problème est géré dans la version 2.0.4
Correction :
Le fichier install.php, comme beaucoup de scripts php de PhpMyNewsLetter utilise les shorts_tags.
Dans php.ini de votre serveur, cherchez "short_open_tag" et mettez le à on :
short_open_tag = on
Si vous rencontrez une erreur 500 (Server made a booh booh)
Correction :
placer à la racine de votre portail un fichier nommé ".ovhconfig" avec le . (point) devant, et qui contiendra :
app.engine=php
app.engine.version=5.5
http.firewall=none
environment=productionCorrection :
Dans le fichier index.php (vers ligne 134) à la racine de l'installation, tu as :
$tmp_subdir = (DIRECTORY_SEPARATOR == "/" ? "./import/" : ".\\import\\");Tu vas remplacer cette ligne par :
//$tmp_subdir = (DIRECTORY_SEPARATOR == "/" ? "./import/" : ".\\import\\");
if(!is_dir("upload")){
if(mkdir("upload",0700)){
$_CONTINUE = true;
} else {
$_CONTINUE = false;
die("<div class='error'>Error while creating upload directory : '".$row_config_globale['path']."upload'.<br>Please, check permissions or create '".$row_config_globale['path']."upload' manua
lly<br>Refresh after you correct it !</div>");
}
}
$tmp_subdir="./upload/";Merci Fred et bonnes fêtes également !
Excuse moi, j'ai changé en cours de route, j'avais un mauvais copier / coller !
Voilà !
Tu as ça :
case 'subscriber_import':
@set_time_limit(300);
$import_file = (!empty($_FILES['import_file']) ? $_FILES['import_file'] : "");
if (!empty($import_file) && $import_file != "none" && $import_file['size'] > 0 && is_uploaded_file($import_file['tmp_name'])){
$tmp_subdir_writable = true;
$open_basedir = @ini_get('open_basedir');
if (!empty($open_basedir)){
$tmp_subdir = (DIRECTORY_SEPARATOR == "/" ? "./import/" : ".\\import\\");
if(! is_writable($tmp_subdir)){
$tmp_subdir_writable = false;
} else{
$local_filename = $tmp_subdir.basename($import_file['tmp_name']);
move_uploaded_file($import_file['tmp_name'], $local_filename);
$liste = fopen($local_filename, 'r');
}Tu corriges par ça :
case 'subscriber_import':
@set_time_limit(300);
$import_file = (!empty($_FILES['import_file']) ? $_FILES['import_file'] : "");
if (!empty($import_file) && $import_file != "none" && $import_file['size'] > 0 && is_uploaded_file($import_file['tmp_name'])){
$tmp_subdir_writable = true;
$open_basedir = @ini_get('open_basedir');
if (!empty($open_basedir)){
//$tmp_subdir = (DIRECTORY_SEPARATOR == "/" ? "./import/" : ".\\import\\");
if(!is_dir("upload")){
if(mkdir("upload",0700)){
$_CONTINUE = true;
} else {
$_CONTINUE = false;
die("<div class='error'>Error while creating upload directory : '".$row_config_globale['path']."upload'.<br>Please, check permissions or create '".$row_config_globale['path']."upload' manua
lly<br>Refresh after you correct it !</div>");
}
}
$tmp_subdir="./upload/";
if(! is_writable($tmp_subdir)){
$tmp_subdir_writable = false;
} else{
$local_filename = $tmp_subdir.basename($import_file['tmp_name']);
move_uploaded_file($import_file['tmp_name'], $local_filename);
$liste = fopen($local_filename, 'r');
}C'est corrigé dans la version 2.0.4
Bonjour Fred, content de te lire
La 2.0.3 a un bug qui se déclenche sur certains hébergements dont la résolution est là :
https://www.phpmynewsletter.com/forum/v … d=644#p644
Tiens moi au courant stp
Ajout de la GESTIONS DES ABONNES :
* Gestion des abonnés sur une seule page au lieu de 5
* Ajout de la vérification de la structure d'une adresse mail
* Ajout de la possibilité de supprimer des mails en masse depuis un fichier externe
Bonjour,
Le traitement est en cours.
Voilà, j'ai intégré la demande en 2.0.4 :
https://www.phpmynewsletter.com/forum/v … 1668#p1668
Excellente suggestion !
Je la valide complètement sachant que l import en masse de la 2.0.4 acceptera tout type de fichier plat en entrée donc sans formatage particulier...
Oui j'ai compris.
Alors, je crois que l'on a peut être quelques bugs, j'ai pu le constater aussi.
Pour supprimer les abonnés (en masse ??), si on fait la relève via le processus, les comptes sont neutralisés.
Mais je crois que tu es en mutu (?) Donc pas possible...
Et en fait, je l'avoue, il n'y a pas cette possibilité. (Outre le bug qui est à corriger bien sûr !)
Je prends donc la totalité du message pour corriger au plus vite tout cela.
Désolé 
Juste pour information, l'avancement des travaux qui a été réalisé sur la 2.0.4 et qui ne comprend pas encore les évolutions en cours d'écriture, évolutions que j'ajouterai au fur et à mesure.

GENERAL :
* Correction des bugs de la version 2.0.3
* Traduction complète du script, mise en fichier de tous les textes.
* Validation de PhpMyNewsLetter pour PHP 5.4 et supérieur
(tests généraux avec HHVM beaucoup plus pointu) et prêt pour PHP 7.0 (sauf erreur ou omission de ma part...)
* Suppressio des "HIDE" dans le menu gauche pour amélioration de la présentation /ergonomie
TRADUCTIONS :
* anglais / english
OUTILS INTEGRES :
* Phpmailer 5.2.14
* Amcharts 3.13.2 (librairie internalisée)
* TinyMCE 4.1.9 (librairie internalisée)
* DropZone 4.0.1 (librairie internalisée)
* jQuery 1.11.2 (librairie internalisée)
AMELIORATIONS :
* Internalisation de l'heure serveur via php, puis incrément javascript (évite les appels ajax à chaque seconde)
* Compte rendu des imports corrects et en erreur (par compteur)
* Création de tous les répertoires nécessaires centralisés dans install.php (upload, DKIM, backup_crontab)
* Test de la disponibilité de la fonction exec php
* Prise en compte du numéro de campagne pour la gestion des mails en erreur, supprimés, désinscrits
* Mot de passe administrateur obligatoire à l'installation
* Visualisation des logs en modal (plus de téléchargement)
* Suppression des espaces dans les noms documents envoyés sur le serveur par upload
* Compression du code html pour envoi des mails (suppression des espaces et retour à la ligne inutiles)
* Signalement des désinsriptions
* Mails en erreur, désinscrits, supprimés par administrateur conservés en archive pour garder les listes saines
GESTION ET VISUALISATION DES STATISTIQUES :
* Suppression de JpGraph (incompatible HHVM)
* Intégration de AmCharts pour comptes rendus d'envois, librairies externalisées
* Statistiques des environnements à la lecture des mails :
- Navigateurs et versions,
- Système d'exploitation,
- Support de lecture : ordinateur, tablette, téléphone mobile
- Types de clients mails (thunderbird, Outlook, Icedove, etc...)
- Identification des lectures Gmail
* Bascule simplifiée d'une liste à une autre
* Statistiques globales de toutes les listes sur la page des listes
* Intégration de la librairie Charts.js pour statistiques globales par liste et globales toutes listes confondues
* Ajout du nombre de clics dans chaque campagne
GESTION DU TRACKING :
* Ajout de la détection des OS, version, navigateur, support
* Calcul du taux d'ouverture (Open Rate)
* Calcul du ratio CTR (taux de clics sur envois) (CTR : Click Through Rates)
* Calcul du ratio ACTR (CTR ajusté : taux de clics sur ouvertures) (ACTR : Adjusted Click Through Rate)
* Détection des clients sur ouverture d'un mail (Outlook, Icedove, Thunderbird, Lotus,...)
* Correction d'un bug dans les calculs / stats
GESTION DES MESSAGES ENVOYES :
* Mise en place du "multi-part message in MIME format", balise AltBody
* Messages quoted printable, et AltBody pour les clients mails non graphiques
* Encodage des mails envoyés possible en base64 au lieu de 8bit
* Classe de test de l'email via SMTP avant envoi du mail
(Attention : yahoo, ymail et rocketmail renvoient toujours OK)
GESTION DES TACHES PLANIFIEES :
* Compte rendu automatique de fin de tâche planifiée par mail
* possibilité de suppression d'une tâche planifiée non encore réalisée
GESTION DES LOGS :
* Ajout de l'environnement technique dans l'entête du log d'envoi final
* Log des actions d'une journée
* Log pour chaque envoi
* Visualisation des logs en modal (plus de téléchargement)
GESTIONS DES LISTES :
* Duplication d'une liste en 2 clics
* Fusion de 2 à n listes dans une liste nouvelle, avec contrôle des doublons
* Correction du problème des imports
* Gestion d'une table des emails supprimés manuellement, désinscrits en erreur.
(Evite les doublons en erreur d'envoi, permet une vérification aux inscriptions et ajouts manuels)
* Notification de nouvel inscrit dans une liste (choix optionnel, désactivable dans configuration générale, onglet inscriptions)
* Notifications des désinscriptions
* Purge d'une liste (=suppression des mails d'une liste, uniquement)
GESTIONS DES ABONNES :
* Gestion des abonnés sur une seule page au lieu de 5
* Ajout de la vérification de la structure d'une adresse mail
* Ajout de la vérification du DNS correspondant au domaine du mail
* Ajout de la possibilité de supprimer des mails en masse depuis un fichier externe
* Ajout de couleurs pour distinguer les opérations : vert=ajout, rouge=suppression, jaune=autres opérations
GESTIONS DES SMTPs : (Nouveau)
* Pseudo LOAD BALANCING des envois sur plusieurs SMTP paramètrables
* Ajout de la zone de choix d'un port pour configurer un nouveau SMTP
* Gestion automatiques du SMTP Gmail, des SMTP mutualisés OVH, 1and1, Gandi, Online, Infomaniak par simple choix en liste déroulante
* Distinction smtp GMAIL SSL (port 465) et TLS (port 587)
GESTION DE LA REDACTION :
* blocage de l'accès à la preview tant que la sauvegarde initiale n'est pas faite
(risque de blocage sur planification d'envoi)
* simulation de divers navigateurs (sur mobiles / tablettes) pour validation des messages dits "responsives"
GESTION DES ENVOIS (dans la configuration globale) :
* Activation / désactivation possible du tracking
GESTION DES BOUNCES :
* Suppression d'un email dans toutes les listes quand il est erreur bounce
Le plaisir est pour moi 