Problème avec les mails de Li P’ti Fouineu ! 3e épisode !

Bonsoir le Monde !

je crois que je suis maudit avec la newsletter ! Beaucoup d’abonnés (y compris moi) ont reçu la dernière newsletter 2 fois (Installer ou ré-installer Windows 10 soi-même) !
Toutes mes excuses mais ce n’était absolument pas voulu !

C’est mieux que ne pas la recevoir du tout mais je n’ai évidemment pas la moindre envie de surcharger votre boîte mail !

C’est un souci que je n’avais pas encore rencontré et qui serait causé par … le succès du site !
Je suis flatté mais pas content quand même !

Cette fois-ci, le souci:

  • ce n’est pas SendGrid qui s’occupe de vous envoyer la newsletter en évitant qu’elle soit considérée comme un SPAM autant que faire se peut
  • ce n’est pas Mailpoet 2 qui crée automatiquement une newsletter à chaque publication d’article et en transmet un exemplaire à SendGrid pour chaque abonné.

Le coupable semble être WordPress lui-même !

Explication pour les curieux et les geeks:

WordPress et ses plugins utilisent des tâches programmées dans le temps pour fonctionner !
Par exemple, MailPoet utilise une telle tâche pour vérifier régulièrement s’il y a un nouvel article publié et, si c’est le cas, créer une nouvelle newsletter.

Jusque-là, tout va bien pour tout le monde ?

Le 1er souci, c’est que WordPress attend qu’un visiteur vienne sur le site pour déclencher un contrôle de ces tâches programmées.
Ça marche pas trop mal pour autant qu’il y ait un minimum de visiteurs; le résultat est que la tâche programmée ne va pas toujours s’exécuter à l’heure exacte pour laquelle elle a été programmée.
Ce système évite de surcharger inutilement le serveur de votre hébergeur de site web.

Pour des sites comme Li P’ti Fouineu, ce premier souci n’en est pas un car il y a assez de visiteurs du site et j’en suis très flatté ! Merci à vous tous !
Ça fonctionnait bien jusque la fois passée.

Le 2e souci, c’est quand il y trop de visiteurs car après un certain nombre et/ou un certain temps (ce n’est pas clair pour moi), la tâche programmée est recontrôlée et malheureusement relancée même si la précédente est toujours en cours. WordPress ou le plugin ne sait apparemment pas voir que la tâche tourne déjà et qu’elle n’est pas finie !
C’est ce qui s’est passé ! Envoyer une newsletter à plus de 100 destinataires prend évidemment un certain temps.

Donc je me remets à l’ouvrage, je découvre tout ce que je viens de vous expliquer et je cherche donc une fois de plus une solution !

MailPoet 2 permet d’être déclenché par un programme extérieur à WordPress.

J’ai donc créé un compte (gratuit) chez EasyCron qui permet de programmer une tâche vraiment à une heure précise (et pas quand un visiteur arrive) et de déclencher MailPoet depuis l’extérieur de mon WordPress !

Si cela fonctionne, les abonnés devraient ne recevoir qu’une seule fois la newsletter annonçant cet article que vous êtes en train de lire !
Sinon, il faudra que je trouve autre chose !

En investiguant ce problème, j’ai aussi noté une ou deux petites choses que je devrai vérifier également comme le fait que la newsletter ne permette pas toujours de répondre facilement. Ce pourrait être un bug de MailPoet ou de SendGrid.
L’autre chose est que certains abonnés ne reçoivent pas ma newsletter à chaque fois car leur serveur de messagerie est temporairement considéré comme un nid à SPAM. Je pense que je ne pourrai pas faire grand-chose à cela.

Bref, WordPress tout seul est très facile mais une fois qu’on ajoute des fonctionnalités supplémentaires via les plugins, ça se complique un peu et parfois ça coince !
Dans mon cas, cela arrive parce que WordPress évolue assez fort récemment alors que cela fera 10 ans que je l’utilise en novembre 2020. Certains plugins sont obsolètes et quelques autres qui ne sont plus maintenus à jour par leurs concepteurs ont parfois des fonctionnements plus aléatoires que par le passé.

Li P’ti Fouineu vous salue bien !

image_pdfPDFimage_printImprimer

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *