Support et annonces PhpMyNewsLetter.
Vous n'êtes pas identifié(e).
Bonjour,
Je viens de tester :
- si confirmation de désinscription avec lien de désinscription : email dans _email_deleted.
- si désinscription directe : c'est le bug !
Pour corriger, il faut aler dans include/lib/pmn_fonctions.php et modifier la fonction :
function removeSubscriberDirect($cnx, $table_email, $list_id, $addr, $table_email_deleted) {
$addr = strtolower($addr);
$rm=$cnx->query("SELECT email FROM $table_email WHERE list_id='$list_id' AND email='$addr'")->fetch(PDO::FETCH_ASSOC);
if ($rm == 0)
return -1;
if($cnx->query("DELETE FROM $table_email WHERE email='$addr' AND list_id='$list_id'")){
return true;
} else return -2;
$cnx->query("INSERT INTO $table_email_deleted (list_id,email,type) VALUES (".escape_string($cnx,$list_id).",".escape_string($cnx,$addr).",'unsub')");
}en
function removeSubscriberDirect($cnx, $table_email, $list_id, $addr, $table_email_deleted) {
$addr = strtolower($addr);
$rm=$cnx->query("SELECT email FROM $table_email WHERE list_id='$list_id' AND email='$addr'")->fetch(PDO::FETCH_ASSOC);
if ($rm == 0)
return -1;
if($cnx->query("DELETE FROM $table_email WHERE email='$addr' AND list_id='$list_id'")){
$cnx->query("INSERT INTO $table_email_deleted (list_id,email,type) VALUES (".escape_string($cnx,$list_id).",".escape_string($cnx,$addr).",'unsub')");
return true;
} else return -2;
}explication : on renvoyait le true avant de passer la requête d'ajout dans email_deleted...
Les avertissements décrits ici ne sont pas graves du tout, sois tranquille.
Je parlais surtout de la récupération des mails.
Question : tu es en mutualisé, et tu n'as pas dans le menu de gauche une rubrique nommée "GESTION DES NON-DISTRIBUÉS" ?
Si tu n'as pas cette rubrique, alors effectivement, il n'y aura aucun traitement des retours !
Il faut aller dans configuration globale > Environnement et passer le type de serveur à "dédié".
Tu valides.
Ensuite, tu recliques dans le menu gauche sur Configuration globale, et appraitra dans le menu de gauche la rubrique "GESTION DES NON-DISTRIBUÉS", et là, tu pourras suivre le process en cliquant sur Analyse des retours
Et si tu es encore en mode développement, alors tu verras les messages de traitement.
Tu repasse en mode production, et tu passes au traitement réel.
Allez, je me lance ! TUTO
Tu as généré tes clés, tu as bien identifié la clé privée (ne pas la modifier) et la clé publique.
Attention : je ne peux pas vérifier ce que vous faites, soyez précis et attentif dans vos manipulations, ce n'est pas compliqué !
Attention : pour ces explications, j'ai utilisé le nom de domaine "example.com"
1/ générer les clés sur le portail http://dkimcore.org/tools/keys.html
2/ aller dans votre installation phpmynewsletter (ex ! pmnl) et vérifier la présence du répertoire include/DKIM
3/ aller dans le répertoire DKIM
4/ poser dans ce répertoire le fichier de clé privée sous le nom "private.key", exemple :
-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQClDHBOtVZkOmj8TrtQgzymJzgFNE3Lm8IHrhilfWQmRd196vDe
/8bFi0ZewCXxs6oPYBu/LnQP3cWz+sf1EWxTjkXajdu3EZsxBmR9MxnhLTmN9wg+
[...]
9FwrDU6jcSSvF/q8UGp3AkEAvIjj4u1ruk4MxOBDbVbf5EK+mVdKJv/8hgaAS1vI
VEMk2MMRDCFkA1fDBrmzyRkzxHWY/joNmh7PxjNeBjdP0A==
-----END RSA PRIVATE KEY-----5/ poser également le fichier de clé publique, non utilisable en l'état, mais qui fait partie du package à conserver, sous le nom "public.key", exemple :
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQClDHBOtVZkOmj8TrtQgzymJzgF
[...]
guOXVj44FComA60c4yyUB2k
pDVEXDrd7wycCYICNwIDAQAB
-----END PUBLIC KEY-----6/ créer dans include/DKIM le fichier "DKIM_config.php"
7/ renseigner le fichier DKIM_config.php de la façon suivante :
<?php
$DKIM_domain = 'example.com';
$DKIM_private = 'include/DKIM/private.key';
$DKIM_selector = '1486107288.example'; // préfixe du sélecteur de l'enregistrement DKIM en zone du domaine
$DKIM_passphrase = '';
$DKIM_identity = $mail->From;8/ ajouter dans la zone DNS du domaine l'enregistrement lié au domaine, exemple :
1486107288.example._domainkey.example.com. IN TXT (
"v=DKIM1;t=s;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQClDHBOtVZkOmj8TrtQgzymJzgF"
"NE3Lm8IHrhilfWQmRd196vDe/8bFi0ZewCXxs6oPYBu/LnQP3cWz+sf1EWxTjkXa"
"jdu3EZsxBmR9MxnhLTmN9wg+4cF1WG1LCFEX9z6sZguOXVj44FComA60c4yyUB2k"
"pDVEXDrd7wycCYICNwIDAQAB")Ensuite, il faut attendre un peu la propagation des données.
Pour valider cette installation, il faut passer par une validation en ligne, par exemple sur http://mxtoolbox.com/dkim.aspx
Bien évidemment, il faut ensuite faire un envoi sur une liste de test (que tout le monde a créé bien évidemment), et vérifier les en têtes des messages , où il y aura les dkim avec un joli "pass"...
Idéalement, mettre un code mail-tester, qui rendra compte de la bonne validation des clés dkim (et spf, voir dmarc !)
Même question : quel hébergement stp ?
Tu as quoi comme hébergement stp ?
support et os...
Je fais ça ce soir
MERCI
-> résolu et je repackage la 2.0.4
Correction à faire :
dans include/tracking.php
ligne 209, remplacer :
'SELECT DISTINCT(devicetype) AS devicetype,COALESCE(COUNT(*),0) AS datapar
'SELECT devicetype,COALESCE(COUNT(*),0) AS dataCa devrait mieux aller.
La bas de calcul était faussée.
Tu peux me valider stp ?
Pour la source, oui, il me la faudrait (je garde toute confidentialié), sur ma bal arnaud [At] phpmynewsletter.com, dans un fichier txt en pj, merci.
Et je dirais bien "Oups !"... C'est une erreur de calcul de ma part.
Je vais procéder à la correction.
Concernant les couleurs, pourquoi pas... Il faut aller dans include/tracking.php, et chercher "var mCCntClkDomain = new Chart(PmnlCntClkDomain, {", les couleurs sont définies après !
Bon courage par contre...
EDIT : c'est dans tracking
Je vais aller voir ça maintenant, effectivement, je n'ai pas répondu...
Par contre fais un post pour l'erreur sur les désinscriptions stp
Sujet marqué résolu : prise en charge de la demande pour la version 2.0.5
OK, est-ce que tu veux bien faire un post à part, sinon je vais me mélanger.
Je vais regarder et voir où est le problème.
Merci !
Ah oui mais non ! En fait, ça veut dire que le user n'a pas confirmé sa désinscription en cliquant sur le lien dans le mail lui demandant de confirmer sa désinscription.
Arnaud a écrit :Quand un user se désinscrit il est mis dans la table [prefix]_email_deleted et tu reçois un mail disant qu'il s'est désinscrit.
La table de suivi des emails supprimés permet de ne pas le remettre en liste principale par accident d'import de liste.Ma email_deleted est vide. C'est pour cela que je t'ai posé la question. Et je sais que des users se sont desinscrits car on a reçu les emails de désinscription.
???
Je voudrais vraiment que tes soucis s'arrêtent ! Toi, tu n'as vraiment pas de chance avec ces permissions... 
Si tu veux envoyer la dernière newsletter déjà envoyée aux nouveaux mails, tu vas dans archives, tu sélectionnes la dernière newsletter, tu auras un message disant en gros "Attention : 5 personnes n'ont pas reçu cette lettre. Cliquez ici pour leur envoyer".
Ca, c'est clair je pense.
Si tu parles de la future newsletter, faite après ajout de ces mails, alors toute la liste recevra la newsletter, anciens et nouveaux mails.
Attention : personnellement, je ne trouve pas cela très bon d'envoyer une ancinne newsletter à de nouveaux inscrits. Mais la fonction existe.
Est-ce que tu as bien renseigné la zone de gestion des retours dans la configuration globale ?
Si oui, alors tu passes en Environnement développement dans la configuration globale et tu refais un check des bounces.
Le système fonctionne, y'a pas de raison !
Attention : à savoir que cela peut aussi être une erreur détectée dés l'envoi, auquel cas, il faut regarder le log des envois dans Données chiffrées et graphiques, zone CHIFFRES CLÉ DES CAMPAGNES, clic sur la loupe.
Tu peux avoir par exemple :
2016-12-26 16:10:27 ID : 2945409 3.204 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting xxxxxx@gmx.comAuquel cas, le mail est basculé en table des emails supprimés, et n'apparait pas dans le traitement des bounces...
Quand un user se désinscrit il est mis dans la table [prefix]_email_deleted et tu reçois un mail disant qu'il s'est désinscrit.
La table de suivi des emails supprimés permet de ne pas le remettre en liste principale par accident d'import de liste.
Bonjour !
DKIM c'est gratuit et c'est fortement conseillé !
Pour générer :
http://dkimcore.org/tools/keys.html
Tu mets ton domaine sans le www, et tu cliques, c'est tout !
Tu auras ta clé publique, ta clé privée et l'enregistrement à ajouter dans ta zone DNS.
Bonjour tatayet38
Fais simple !
Tout d'abord 3 lignes, ça veut dire que tu as tenté 3 install, et donc que cela a échoué, 2 lignes sont à supprimer.
Je suis d'accord avec une réinstallation complète.
-> sauvegarde de la base PhpMyNewsLetter puis suppression complète des tables de pmnl
-> renommer le répertoire PhpMyNewsLetter avec une extension de sauvegarde. EX : pmnl en pmnl.bak
-> recréer le répertoire pmnl
-> reposer l'archive décompressée de 2.0.4 dans pmnl
-> install.php avec la même configuration sql
-> import de la base via phpmyadmin
-> copie des logs et du contenu de upload de pmnl.bak vers pmnl.
Pour les mails qui n'arrivent pas, c'est qu'ils sont dans les tuyaux. C'est le gros problème du mutu ovh, son smtp mutualisé,... Vraiment problématique !
Juste pour info, je n'ai pas la colonne country dans la table track. Est-ce du string ou autre
Normal !
Il faut la beta pour avoir le pays...
Je me garde encore un peu de réserve "temps" avant de communiquer à ce sujet.
Je ferai peut être une ouverture via un descriptif d'une mise à jour, ou autre, je ne sais pas encore.
A suivre.
Mais pour le moment, tu peux normalement enlever juste ce qui concerne "country" dans les requêtes.
Plz, :
Now, if it doesn't work, see the source of the web page (the one when you want to compose), copy and paste here.
Ok, sorry for time.
I did it :
And it works fine, as you can see :
Now, if it doesn't work, see the source of the web page (the one when you want to compose), copy and paste here.
Wait a little, i will do it at home