Open marcfunkDE opened 3 weeks ago
Als Ergänzung: Es wird vom Fehler in Zeile 337 gesprochen. Due Funktion "private function embedImages" fängt ab Zeile 328 an. Es wird in den Benachrichtigungen tatsächlich ein Bild in der Signatur eingefügt.
Aber: Dieses wird mittels img src="data:image/jpeg;base64,..." eingebunden. Ich denke da stört sich das System dran?
[08:33] Ergänzung Ja, es liegt am base64 Bild. Sobald ich das raus nehme, wird die Mail korrekt versendet.
Im Test konnte ich das nicht nachstellen: https://github.com/terminal42/contao-notification_center/commit/8c10cd40173d70744ee6fe7a1d4e2ba62b533224 Ich müsste das Ticket also schliessen, ausser du sagst mir, wie ich den Fehler nachstellen kann?
Hallo Toflar! Dein HTML Code zum Image ist auch nicht korrekt. Der müsste so aussehen:
<html><body><p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red Dot"></p></body></html>
Bei dir fehlt der öffnende Image-Tag.
Ich hatte eine Base64 Image drin. Der Versand klappte nicht. Als ich es rausgenommen habe, ging der Versand sofort. Dann habe ich es testweise wieder eingebaut > wieder Versand nicht möglich. Wenn es nicht nachstellbar ist, kann ich dir gerne auch einen Zugang zum Livesystem von uns geben, wo das Problem zu finden ist.
Ah, gutes Auge - in der Tat: Fixed: https://github.com/terminal42/contao-notification_center/commit/3226a347a4c1ecf92a863e57233e58f1e22afa4c Aber gleiches Resultat. Also da muss m.E. was anderes falsch gelaufen sein?
@marcfunkDE what are the exact reproduction steps? i.e. where exactly did you insert that image. Did you add it to the mail_default
template for example?
Hier ist die Seite: https://www.unternehmerstammtisch.ruhr/mitgliedschaft/
Nach dem Ausfüllen kommt die Contao Seite "Es ist ein Fehler aufgetreten". Log zeigt folgendes:
[2024-11-19T10:01:59.223905+01:00] request.INFO: Matched route "tl_page.5". {"route":"tl_page.5","route_parameters":{"_controller":"Contao\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","_format":"html","_canonical_route":"tl_page.5","parameters":"","pageModel":{"Contao\PageModel":[]},"_route":"tl_page.5","_route_object":{"Contao\CoreBundle\Routing\Page\PageRoute":[]}},"request_uri":"https://www.unternehmerstammtisch.ruhr/mitgliedschaft/","method":"POST"} [] [2024-11-19T10:01:59.236372+01:00] security.INFO: Populated the TokenStorage with an anonymous Token. [] [] [2024-11-19T10:01:59.356310+01:00] request.CRITICAL: Uncaught PHP Exception TypeError: "Terminal42\NotificationCenterBundle\Gateway\MailerGateway::embedImages(): Return value must be of type string, null returned" at /www/htdocs/w01dc578/CMS/vendor/terminal42/notification_center/src/Gateway/MailerGateway.php line 337 {"exception":"[object] (TypeError(code: 0): Terminal42\NotificationCenterBundle\Gateway\MailerGateway::embedImages(): Return value must be of type string, null returned at /www/htdocs/w01dc578/CMS/vendor/terminal42/notification_center/src/Gateway/MailerGateway.php:337)"} []
Die Benachrichtigung enthält ein Image, welches mit Base64 eingebettet ist.
Es ist alles auf Standard eingestellt - ohne Anpassungen. Template ist das mail_default. Sobald ich das Bild im Screenshot aus dem HTML Bereich entferne, funktioniert der Versand. Packe ich es wieder rein, kommt der Error ins Log.
Könntest du den exakten Inhalt von $html
in embedImages()
dumpen und hier anhängen?
Kann ich. Da ich mit der Entwicklung in Contao aber nicht so bewandert bin, müsstest du mir schon sagen, wo genau ich die Ausgabe einfügen soll (Datei und ca. Zeile). :) Danke!
https://github.com/terminal42/contao-notification_center/blob/main/src/Gateway/MailerGateway.php#L330 da direkt ein dd($html);
einfügen und dann im Debug-Modus (oben rechts im Backend aktivieren) abschicken.
Die Benachrichtigung enthält ein Image, welches mit Base64 eingebettet ist.
Ah, so directly in the TinyMCE of the HTML text of the notification itself, not the mail_default
template.
This is likely an issue with TinyMCE itself. @marcfunkDE post the source view of TinyMCE of your text.
Contao: 4.13.49 NC: 2.1.0 PHP: 8.1.30
Seit dem Update auf 4.13.49 und 2.1.0 kann kein Formular mehr versendet werden. Nach Klick auf dem Button wird auf die Contao Standardfehlerseite weitergeleitet.
Folgende Meldungen stehen im Log nach dem Klick:
[2024-10-30T08:08:31.279555+01:00] request.INFO: Matched route "tl_page.2.root". {"route":"tl_page.2.root","route_parameters":{"_controller":"Contao\\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","_format":"html","_canonical_route":"tl_page.2","parameters":"","pageModel":{"Contao\\PageModel":[]},"_route":"tl_page.2.root","_route_object":{"Symfony\\Component\\Routing\\Route":[]}},"request_uri":"https://www.unternehmerstammtisch.ruhr/","method":"POST"} [] [2024-10-30T08:08:31.291070+01:00] security.INFO: Populated the TokenStorage with an anonymous Token. [] [] [2024-10-30T08:08:31.420043+01:00] request.CRITICAL: Uncaught PHP Exception TypeError: "Terminal42\NotificationCenterBundle\Gateway\MailerGateway::embedImages(): Return value must be of type string, null returned" at /www/htdocs/w01dc578/CMS/vendor/terminal42/notification_center/src/Gateway/MailerGateway.php line 337 {"exception":"[object] (TypeError(code: 0): Terminal42\\NotificationCenterBundle\\Gateway\\MailerGateway::embedImages(): Return value must be of type string, null returned at /www/htdocs/w01dc578/CMS/vendor/terminal42/notification_center/src/Gateway/MailerGateway.php:337)"} []
Es ist eine normale Gastanmeldung mit Vorname, Nachname, Mailadresse etc. Alle Felder sind default, keine extra Templates.