Support et annonces PhpMyNewsLetter.
Vous n'êtes pas identifié(e).
Parce que ils ont certainement été relevés par le traitement des bounce.
Les autres ont été traités comme envoyés et non en bounce
Retour à un morceau de code de send.php
Pour la 2.0.3 que tu actuellement, on a :
if (!$mail->Send()) {
$cnx->query("UPDATE ".$row_config_globale['table_send']." SET error=error+1 WHERE `id_mail`='".$msg_id."' AND `id_list`='".$list_id."'");
$ms_err_info = $mail->ErrorInfo;
} else {
$cnx->query("UPDATE ".$row_config_globale['table_send']." SET cpt=cpt+1 WHERE `id_mail`='".$msg_id."' AND `id_list`='".$list_id."'");
$ms_err_info = 'OK';
}Pour la 2.0.4, vous aurez :
if (!$mail->Send()) {
$cnx->query("UPDATE ".$row_config_globale['table_send']." SET error=error+1 WHERE `id_mail`='".$msg_id."' AND `id_list`='".$list_id."'");
$ms_err_info = $mail->ErrorInfo;
$cnx->query("UPDATE ".$row_config_globale['table_email']."
SET error='Y',long_desc='".$cnx->CleanInput($ms_err_info)."',campaign_id='".$msg_id."'
WHERE email='".$addr[$i]['email']."'
AND list_id='".$list_id."'");
} else {
$cnx->query("UPDATE ".$row_config_globale['table_email']."
SET campaign_id='".$msg_id."'
WHERE email='".$addr[$i]['email']."'
AND list_id='".$list_id."'");
$cnx->query("UPDATE ".$row_config_globale['table_send']."
SET cpt=cpt+1
WHERE `id_mail`='".$msg_id."'
AND `id_list`='".$list_id."'");
$ms_err_info = 'OK';
}En gros, dans la 2.0.3, il n'y avait pas de traitement de mails en erreur sur l'envoi, ce qui est corrigé sur la 2.0.4.
Il faudrait d'abord terminer le fil précédent.
Mais au vu de ce que tu dis, je dirais qu'il y a quand même une lenteur sql.
Si le mail est trouvé en erreur, alors il est traité en sql pour basculer le mail correspondant en erreur.
Je suis sur le précédent fil...
Ah mais ok !
Ton explication m'éclaircit.
Je regarde le code, et je te dis dés qu'analyse faite !
OK.
Alors déjà une première chose que je ne comprends pas.
En utilisant Gmail comme relais smtp, on a un problème :
https://support.google.com/a/answer/295 … tsforrelay
et
https://support.google.com/mail/answer/22839?hl=fr
(encore pire : https://support.mailpoet.com/knowledgeb … g-limits/)
En fait, il faut comprendre que gmail accepte 500 envois DEPUIS gmail, et 100 par jour en relais gmail smtp. (Je le découvre ce jour, n'ayant jusqu'à ce jour vécu que sur un fait que je n'avais pas pris le temps de vérifier, ne l'utilisant pas).
Pourtant dans les log j'ai eu 233 OK
puis 26 SMTP Error: data not acceptedSur ces 26 il m'a dit que 6 n'ont pas été envoyés, et j'ai pu les renvoyer en cliquant dans le message dans "Archives"
Si ce n'était pas géré il y aurait eu tous les mails comptés envoyés.
Si ce n'était pas géré il y aurait eu "OK" dans les logs, et pas SMTP error.
Donc il y a quelque chose que je ne comprends pas...
Voilà les faits :
1 envoi par boucle de 1 seconde.
260 envois au total.
Tu veux du smtp pour gérer les retours non distribués.
Tu choisis un compte smtp via google mail.
Tu envoies 260 mails.
Ils sont tous dans le log.
233 sont OK
26 sont Data not accepted dans le log
Seuls 6 sont sont marqués comme non envoyés.
Conclusions :
--> Il nous en manque 1... ? (233+26=259)
--> La méthode de gestion des retours des codes smtp n'est pas si mauvaise, mais buggée !
ou
--> La réponse de gmail est arrivée après la mise à jour de l'envoi, de la réponse première du smtp...
Dans l'ordre du log, j'imagine que l'on a d'abord :
233 envois réussis normaux
puis
20 marqués normaux mais qui reçoivent un code smtp over quota après la mise à jour initiale par le script
puis
6 marqués comme non envoyés.
Est-ce que c'est ça ?
Il faut donc bien que je le gère en amont car effectivement cette situation n est pas gérée pour le moment...
Mais je prépare quelque chose, je ne peux pas en parler pour le moment c est TOP SECRET !!! Et ce n est pas sur les dépôts Github.... C est pour cela qu il n y a plus de mises à jour apparentes...
Attention la 2.0.4 est en cours de développement et loin d etre finie mais au moins ça montre que les travaux portent leurs fruits !
Merci beaucoup Guy pour ce retour !
Il faudrait que tu m'éclaires :
- si c'est un over quota d'envoi par la bal gmail, alors il me faudrait l'entête complète pour que je l'intègre comme modèle, car je n'ai jamais eu ce cas.
- si c'est une boîte pleine en réception, donc chez le destinataire, aors ce n'est pas au smtp de traiter à l'envoi, mais bien au retour en bounce.
Pour les 20 affichés comme envoyés, mais non pris en compte,... Je ne vois pas trop comme ça. Est-ce que tu as mis un envoi de 1 mail par boucle d'envoi ?
Merci d'avance de ces renseignements
Mais on parle de boîte pleine chez le destinataire ! Pas de over quota en envoi
Effectivement c est un bug.
Via gmail je suppose ?
Donc la réponse du smtp n est pas prise en compte sur un dépassement de quota.
Gmail il faut cadencer à un mail par seconde maximum.
Le script est initialement rédigé pour des serveurs dédiés. En mutu avec un smtp externe il y a des réglages à assurer. Mettre 10 envois à chaque boucle, voir 8, est déjà un grand pas !
En combien de temps ? Sur quelle cadence ?
Bravo !
Je réponds tard je suis en vacances !
Je mets cette modif active pour la 2.0.4 mutu
Merci beaucoup de ton retour
Et est-ce que les envois fonctionnent alors ?
Foireux oui mais tous les mutus sont comme ça...
D'où l'usage de petits vps qui devient intéressant...
Ce sont les comptes gratuits
En fait les erreurs telles que tu les affiches pourront être traitées bientôt par copier coller...
Et une autre explication d'un corp OVH qui explique que le nombre de 300 mails / heure est valable pour tous les mutualisés utilisant la même IP:
https://forum.ovh.com/showthread.php?99 … post613615
En bref, ça veut dire que d'autres envoient des mails et ça plombe les compteurs.
Quand tu utilises la messagerie, ça passe par le un autre canal.
Oui mais tu en envoies combien par la messagerie ?
Le smtp ovh est vraiment d'un fonctionnement aléatoire... C'est navrant.
A noter, tu as le retour des mails en erreur dans ton admin ovh normalement me semble t-il...
Il serait peut être bon de saisir le support par mail en leur expliquant que 5 mails qui partent en 10 secondes, 3 sont en erreur !
Il faudrait que je creuse pour trouver une solution qui expliquerait mieux le plantage.
Recherche faite sur les forums ovh, je crois que dans ce fil, tout est résumé :
https://forum.ovh.com/showthread.php?98 … t()-failed
Donc, peut être suivre la voie normale du smtp ?...
Je comprends que ces failed soient agaçants... Mais là, quelque soit le client utilisé pour envoyer des mails, ce sera toujours le même problème...
Revenir à mail() ?
En fait le smtp OVH est engorgé et rejette de suite ce qui n'est pas unitaire.
Si on compte 1 mail toutes les 2 secondes (1800 secondes au total pour l'envoi ce qui est tout à fait raisonnable), alors on est bon.
1/ dans l'admin, gestion des envois, tu mets 1 envoi à chaque boucle.
2/ pour modifier la cadence, tu vas aller dans :
include/compose.php
Tu vas chercher
setTimeout(progresspump,10000);et tu vas le remplacer par :
setTimeout(progresspump,2000);Ca va générer un envoi d'1 mail toutes les 2 secondes. Ce qui est tout à fait normal.
Fais le et reviens après le test de ta liste d'essai nous dire ce que ça donne.
Je rappelle au passage que si vous voulez me mettre dans vos mailing de tests, je suis tout à fait ok pour vous donner mon avis sur le mail.
Peu importe le contenu, je m'en fiche royalement, c'est juste pour vous aider : arnaud [at] phpmynewsletter.com
Combien de mails fait ta liste réelle ?
En fait dans la version de G.Kokanosky oui ça passait. Ce n'est pas que ça marchait, c'est que ça passait.
J'ai quand même un objectif : être le plus propre possible pour éviter que les utilisateurs voient leurs campagnes tomber directement en spam.
Chaque partie du mail envoyé doit être propre (d'où également le travail à fournir sur la préparation d'un serveur, et c'est 80% de la réussite d'une campagne), et il est important de tout soigner.
L'usage d'un éditeur est donc important, mais pas forcément nécessaire, mais important.
Un mail c'est plein de subtilités...
Question du inline-block.... Moi je veux bien, mais après tout dépend de l'outil utilisé pour lire les mails...
Allez, je suis de bonne humeur ce matin, je lâche quelques ressources à lire :
- la compatibilité du css dans les différents navigateurs :
https://www.campaignmonitor.com/css/
- comment créer un mail responsive en détail :
http://webdesign.tutsplus.com/fr/articl … sign-12978
- la part croissante des mobiles dans la lecture des mails (d'où l'intérêt du css responsive) :
https://fr.mailjet.com/blog/conception-email-responsif/ et http://emailclientmarketshare.com/
Et surtout :
- “You can’t use HTML5 or CSS3 in email.”
https://litmus.com/blog/a-bulletproof-g … 3-in-email
Bonne lecture !
Super! Merci
J'avais fini par appliquer la méthode blopblop (merci!) en intégrant les balises <style> dans le html. Il ne me reste plus qu'un problème : la lettre est propre en PREVIEW, mais certains sélecteurs ne sont pas traduits dans le fichier envoyé après Preview. ...
Par exemple ??
Attention, on est sur du css strict, donc par exemple pas de html5 ou css3 !
Hello
Mauvaise idée de mettre un fichier CSS.
le CSS est géré de manière très différente selon les logiciels donc tu vas obtenir des trucs bizarres.
Autant le faire en HTML pure avec la propriété Style (et avec les balises <style></style> dans le head)Et autant dire que le code doit etre super propre parce que des mails en html/css , c'est très souvent du spam alors ca va très rapidement à la poubelle ^^
Voilà, exactement !
Pas de lien sur des fichiers externes de css, et css défini entièrement entre les balises head :
<head>
<style>
h1{...}
h2{...}
</style>
</head>Je suis preneur d un outil plus simple et qui permet les templates ! Je réfléchis à remplacer tynimce
Merci !