Envoi bloqué si il y a un émoji dans le sujet de la newsletter #1

Closed
opened 2 years ago by jeanmarie · 10 comments
Collaborator

Disclaimer : Alors oui, je vois déjà vos réponses et non, ce n'est pas un débat pour ou contre les émojis dans les sujets des mails, c'est pour un retour d'usage d'une utilisatrice :)

Une newsletter (publiée en ligne donc prête à l'envoi) avec les caractères 📅 (émoji calendrier/agenda sans doute récupéré de Facebook !) dans le sujet est bien énvoyée via le test (envoi à un seul destinataire) mais est bloquée si envoyée à une liste.

Ce qui est embêtant, c'est que le test marche, donc on se dit que c'est bon, mais l'envoi final est bloqué et, dans le cas en question, sans donner de message d'erreur (3 envois programmés à l'avance).

Dans un 2nd test (sans programamtion), j'ai bien eu le message d'erreur suivant Avancement : 12 (100%) (12 fail) 100% Échoué

Ci-dessous, les logs :

2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:info: cadence:60,10
2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:info: Correction sur nb : 2 (767 au lieu de 60) => 20
2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:info: mailshot_envoyer_lot #197 0/12 (max 20)
2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:info: mailshot_initialiser_destinataires #197 : 0/12
2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:info: mailshot_initialiser_destinataires #197 OK (12)
2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:info: mailshot_envoyer_lot #197/toto@hotmail.fr send
2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:!INFO: mailshot_envoyer_lot #197/toto@hotmail.fr : INFO Probleme [il faut un sujet !] (essai 1)
[...]

Merci les logs : je 'navais osé inciminer l'émoji tout de suite, j'aurais dû !

Disclaimer : Alors oui, je vois déjà vos réponses et non, ce n'est pas un débat pour ou contre les émojis dans les sujets des mails, c'est pour un retour d'usage d'une utilisatrice :) Une newsletter (publiée en ligne donc prête à l'envoi) avec les caractères `📅` (émoji calendrier/agenda sans doute récupéré de Facebook !) dans le sujet est bien énvoyée via le test (envoi à un seul destinataire) mais est bloquée si envoyée à une liste. Ce qui est embêtant, c'est que le test marche, donc on se dit que c'est bon, mais l'envoi final est bloqué et, dans le cas en question, sans donner de message d'erreur (3 envois programmés à l'avance). Dans un 2nd test (sans programamtion), j'ai bien eu le message d'erreur suivant `Avancement : 12 (100%) (12 fail) 100% Échoué` Ci-dessous, les logs : ``` 2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:info: cadence:60,10 2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:info: Correction sur nb : 2 (767 au lieu de 60) => 20 2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:info: mailshot_envoyer_lot #197 0/12 (max 20) 2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:info: mailshot_initialiser_destinataires #197 : 0/12 2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:info: mailshot_initialiser_destinataires #197 OK (12) 2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:info: mailshot_envoyer_lot #197/toto@hotmail.fr send 2020-05-07 10:25:40 91.134.248.211 (pid 26834) :Pub:!INFO: mailshot_envoyer_lot #197/toto@hotmail.fr : INFO Probleme [il faut un sujet !] (essai 1) [...] ``` Merci les logs : je 'navais osé inciminer l'émoji tout de suite, j'aurais dû !
Owner

ah oui j'ai l'impression qu'il y a une secu PHP en amont de l'envoi qui bloque, peut-être une regexp ou un truc comme ça ?

ah oui j'ai l'impression qu'il y a une secu PHP en amont de l'envoi qui bloque, peut-être une regexp ou un truc comme ça ?
salvatore closed this issue 2 years ago
Owner

C'était un bug vicieux lié a la gestion mysql de SPIP : lors d'un update les emoji sont bien convertis en entites html, mais pas a l'insertion.

Du coup, dans la table newsletter l'emoji etait bien converti, et c'est les infos qu'on prenait pour faire le test.
Par contre lors de l'envoi on cree une nouvelle ligne dans la table des envois, avec le sujet, et là lors de l'insertion le sujet etait coupé à l'emoji, donc vide si commençant par l'emoji.

In fine ça bloquait l'envoi.

J'ai contourné en faisant un insertq+updateq a l'identique, et je fix le bug dans SPIP 3.3

C'était un bug vicieux lié a la gestion mysql de SPIP : lors d'un update les emoji sont bien convertis en entites html, mais pas a l'insertion. Du coup, dans la table newsletter l'emoji etait bien converti, et c'est les infos qu'on prenait pour faire le test. Par contre lors de l'envoi on cree une nouvelle ligne dans la table des envois, avec le sujet, et là lors de l'insertion le sujet etait coupé à l'emoji, donc vide si commençant par l'emoji. In fine ça bloquait l'envoi. J'ai contourné en faisant un insertq+updateq a l'identique, et je fix le bug dans SPIP 3.3
b_b commented 2 years ago
Collaborator

Belle traque au bug en tout cas :)

Belle traque au bug en tout cas :)
b_b commented 2 years ago
Collaborator

Heu par contre, pourquoi c'est @salvatore qui est mentionné comme auteur du commit ?

Heu par contre, pourquoi c'est @salvatore qui est mentionné comme auteur du commit ?

Et pour info car je connais pas grand chose à mysql : c'est un truc qui est propre à SPIP ou à Mysql en général ? Parce que de nos jours on stocke tout en UTF-8 non ? Donc pourquoi on devrait bidouiller/contourner en transformant en entitées HTML, alors que c'est une fonctionnalité de base du jeu de caractère directement ?

Et pour info car je connais pas grand chose à mysql : c'est un truc qui est propre à SPIP ou à Mysql en général ? Parce que de nos jours on stocke tout en UTF-8 non ? Donc pourquoi on devrait bidouiller/contourner en transformant en entitées HTML, alors que c'est une fonctionnalité de base du jeu de caractère directement ?
Collaborator

En rapport : https://github.com/seenthis/seenthis_squelettes/issues/96 il faudrait une BDD en utf8mb4

En rapport : https://github.com/seenthis/seenthis_squelettes/issues/96 il faudrait une BDD en utf8mb4
Collaborator
Quelques explications ici : https://medium.com/@leny_be/%EF%B8%8F-mysql-emoji-et-comment-y-rem%C3%A9dier-2c4e6715a1b5
Owner

Heu par contre, pourquoi c'est @salvatore qui est mentionné comme auteur du commit ?

pas auteur mais pousseur, parce que le repo etait en https chez moi, j'ai pas fait gaffe et du coup ça a poussé avec les credentials de salvatore qui sont configurés je sais plus ou depuis que j'ai debug trad.spip.net

Si tu cliques sur le lien vers le commit tu verras que je suis bien auteur

[EDIT : j'ai trouvé et supprimé les credentials de salvatore sur mon ordi :p]

> Heu par contre, pourquoi c'est @salvatore qui est mentionné comme auteur du commit ? pas auteur mais pousseur, parce que le repo etait en https chez moi, j'ai pas fait gaffe et du coup ça a poussé avec les credentials de salvatore qui sont configurés je sais plus ou depuis que j'ai debug trad.spip.net Si tu cliques sur le lien vers le commit tu verras que je suis bien auteur [EDIT : j'ai trouvé et supprimé les credentials de salvatore sur mon ordi :p]
b_b commented 2 years ago
Collaborator

Si tu cliques sur le lien vers le commit tu verras que je suis bien auteur

ouep, je l'avais bien vu ;)

[EDIT : j'ai trouvé et supprimé les credentials de salvatore sur mon ordi :p]

(y)

> Si tu cliques sur le lien vers le commit tu verras que je suis bien auteur ouep, je l'avais bien vu ;) > [EDIT : j'ai trouvé et supprimé les credentials de salvatore sur mon ordi :p] (y)
Poster
Collaborator

Bien joué @cerdic :)

Bien joué @cerdic :)
Sign in to join this conversation.
No Label
No Milestone
No Assignees
6 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.