Project

General

Profile

Anomalie #1601

Problemé envoi de mail

Added by Fab Agom about 2 months ago. Updated about 1 month ago.

Status:
Fermé
Priority:
Normal
Category:
Emails
Target version:
Start date:
12/01/2021
Due date:
% Done:

100%

Estimated time:
Version utilisée:
Vote:

Description

Bonjour,

Je viens de mettre à jour en version 9.6 car je ne pouvez plus afficher l'historique de l'envoi des mail.
La MAJ n'a pas corrigé le problème mais la suppression des historiques les plus anciens ayant la colonne "mailing_sender_name" a null a permi de ré-afficher la fenêtre.

Cependant mon problème se trouve sur l'envoi de mail.

Si la case à cocher "Interpréter les balises HTML" est activé, j'ai un message d'erreur lors de l'envoi du mail.

Je vous met le détail de l'erreur en bas de ce mail.

Merci d'avance pour votre aide

Détails

Type : ErrorException

Code : 0

Message : Required parameter $options follows optional parameter $prevName

Fichier : /home/agomleha/www/.gestion/vendor/soundasleep/html2text/src/Html2Text.php

Ligne : 231
Trace

#0 /home/agomleha/www/.gestion/vendor/composer/ClassLoader.php(571): {closure}(8192, 'Required parame...', '/home/agomleha/...', 231)
#1 /home/agomleha/www/.gestion/vendor/composer/ClassLoader.php(571): include()
#2 /home/agomleha/www/.gestion/vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile('/home/agomleha/...')
#3 /home/agomleha/www/.gestion/lib/Galette/Core/GaletteMail.php(403): Composer\Autoload\ClassLoader->loadClass('Soundasleep\\Htm...')
#4 /home/agomleha/www/.gestion/lib/Galette/Core/GaletteMail.php(265): Galette\Core\GaletteMail->cleanedHtml()
#5 /home/agomleha/www/.gestion/lib/Galette/Core/Mailing.php(278): Galette\Core\GaletteMail->send()
#6 /home/agomleha/www/.gestion/lib/Galette/Controllers/Crud/MailingsController.php(382): Galette\Core\Mailing->send()
#7 [internal function]: Galette\Controllers\Crud\MailingsController->doAdd(Object(Slim\Http\Request), Object(Slim\Http\Response))
#8 /home/agomleha/www/.gestion/vendor/php-di/invoker/src/Invoker.php(74): call_user_func_array(Array, Array)
#9 /home/agomleha/www/.gestion/vendor/php-di/slim-bridge/src/ControllerInvoker.php(50): Invoker\Invoker->call(Array, Array)
#10 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/Route.php(281): DI\Bridge\Slim\ControllerInvoker->_invoke(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#11 /home/agomleha/www/.gestion/lib/Galette/Middleware/Authenticate.php(173): Slim\Route->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#12 [internal function]: Galette\Middleware\Authenticate->_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
#13 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Galette\Middleware\Authenticate), Array)
#14 [internal function]: Slim\DeferredCallable->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
#15 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
#16 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\Route->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#17 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/Route.php(268): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#18 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/App.php(503): Slim\Route->run(Object(Slim\Http\Request), Object(Slim\Http\Response))
#19 /home/agomleha/www/.gestion/vendor/akrabat/rka-slim-session-middleware/RKA/SessionMiddleware.php(47): Slim\App->_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#20 [internal function]: RKA\SessionMiddleware->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Galette\Core\SlimApp))
#21 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(RKA\SessionMiddleware), Array)
#22 [internal function]: Slim\DeferredCallable->_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Galette\Core\SlimApp))
#23 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Galette\Core\SlimApp))
#24 /home/agomleha/www/.gestion/lib/Galette/Middleware/SmartyCsrf.php(94): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#25 [internal function]: Galette\Middleware\SmartyCsrf->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#26 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Galette\Middleware\SmartyCsrf), Array)
#27 [internal function]: Slim\DeferredCallable->_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#28 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#29 /home/agomleha/www/.gestion/vendor/slim/csrf/src/Guard.php(171): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#30 [internal function]: Slim\Csrf\Guard->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#31 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Slim\Csrf\Guard), Array)
#32 [internal function]: Slim\DeferredCallable->_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#33 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#34 /home/agomleha/www/.gestion/lib/Galette/Middleware/TrailingSlash.php(81): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#35 [internal function]: Galette\Middleware\TrailingSlash->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#36 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Galette\Middleware\TrailingSlash), Array)
#37 [internal function]: Slim\DeferredCallable->_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#38 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#39 /home/agomleha/www/.gestion/lib/Galette/Middleware/Language.php(104): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#40 [internal function]: Galette\Middleware\Language->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#41 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Galette\Middleware\Language), Array)
#42 [internal function]: Slim\DeferredCallable->_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#43 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#44 /home/agomleha/www/.gestion/lib/Galette/Middleware/Telemetry.php(146): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#45 [internal function]: Galette\Middleware\Telemetry->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#46 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Galette\Middleware\Telemetry), Array)
#47 [internal function]: Slim\DeferredCallable->_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#48 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#49 /home/agomleha/www/.gestion/lib/Galette/Middleware/CheckAcls.php(144): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#50 [internal function]: Galette\Middleware\CheckAcls->
_invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#51 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Object(Galette\Middleware\CheckAcls), Array)
#52 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#53 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Closure))
#54 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#55 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/App.php(392): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#56 /home/agomleha/www/.gestion/vendor/slim/slim/Slim/App.php(297): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response))
#57 /home/agomleha/www/.gestion/includes/main.inc.php(159): Slim\App->run()
#58 /home/agomleha/www/.gestion/webroot/index.php(57): require_once('/home/agomleha/...')
#59 {main}


Related issues

Precedes Galette - Evolution #1605: Replace dead html2text libNouveau12/02/202112/02/2021

Actions
#1

Updated by Fab Agom about 2 months ago

Mon problème a l'air d'être résolu en modifiant la propriété du serveur d'OVH de PHP 8.0 en mettant Php au lieu de PhpCGI.

#2

Updated by Johan Cwiklinski about 2 months ago

  • Assignee set to Johan Cwiklinski
  • Target version set to 0.9.6.1

Fab Agom a écrit (#note-1):

Mon problème a l'air d'être résolu en modifiant la propriété du serveur d'OVH de PHP 8.0 en mettant Php au lieu de PhpCGI.

Et du coup, tu n'es plus en PHP 8 je présume.

Le problème vient de la bibliothèque tierce utilisée pour convertir les contenus HTML en texte :
https://github.com/soundasleep/html2text/issues/88

Cette bibliothèque n'est plus maintenue ; le correctif est très simple à appliquer et je peux fournir un patch dans Galette) ; mais à l'avenir, il faut en changer (je présume que ce n'est pas compatible PHP 8.1...).

#3

Updated by Johan Cwiklinski about 2 months ago

Le correctif :

diff -up vendor/soundasleep/html2text/src/Html2Text.php.patch vendor/soundasleep/html2text/src/Html2Text.php
--- vendor/soundasleep/html2text/src/Html2Text.php.patch    2021-12-07 08:29:17.500834976 +0100
+++ vendor/soundasleep/html2text/src/Html2Text.php    2021-12-07 08:29:29.577097261 +0100
@@ -228,7 +228,7 @@ class Html2Text {
         return $nextName;
     }

-    static function iterateOverNode($node, $prevName = null, $in_pre = false, $is_office_document = false, $options) {
+    static function iterateOverNode($node, $prevName = null, $in_pre = false, $is_office_document = false, $options = []) {
         if ($node instanceof \DOMText) {
           // Replace whitespace characters with a space (equivilant to \s)
             if ($in_pre) {

#4

Updated by Johan Cwiklinski about 2 months ago

#5

Updated by Johan Cwiklinski about 1 month ago

  • Status changed from Nouveau to In Progress
#6

Updated by Johan Cwiklinski about 1 month ago

  • Status changed from In Progress to Résolu
  • % Done changed from 0 to 100
#7

Updated by Johan Cwiklinski about 1 month ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF