Seite 1 von 1

HTML Mail Versand SQL Fehler

Verfasst: Di 5. Jul 2022, 10:50
von steff11
Hallo zusammen,

ich habe ein Formular und der Mailversand klaptt bestens.

Möchte ich aber aus dem Inhalt eine HTML Mail machen, bekomme ich folgenden Fehler:

Code: Alles auswählen

Cannot log error! Could not send e-mail due to no known recipient:
An SQL Error occurred while executing a script in webEdition.


webEdition address: www.xxx.de,

URI: /xxx.php
Host: web3.alfahosting-server.de
Error type: SQL Error
Error message: Cannot log error! Query failed: Table './e9j75cf3_salem2021/tblErrorLog' is marked as crashed and should be repaired
Error message: MYSQL-ERROR
Fehler: 145
Detail: Table './e9j75cf3_salem2021/tblErrorLog' is marked as crashed and should be repaired
Info:
Query: INSERT INTO tblErrorLog SET `Type`="Exception",`Function`="-",`File`="SECURITY_REPL_DOC_ROOT/webEdition/generated/templates/_inkludiert/xxx.php",`Line`=32,`Text`="syntax error, unexpected \'onload\' (T_STRING)",`Backtrace`="#0 SECURITY_REPL_DOC_ROOT/webEdition/generated/templates/_inkludiert/xxx.php(32): \n#0 SECURITY_REPL_DOC_ROOT/webEdition/we/include/we_showDocument.inc.php(103): include()\n#1 SECURITY_REPL_DOC_ROOT/Fachabteilungen/Urologie/Formular/xxx.php(4): require(\'/var/www/vhosts...\')\n#2 {main}",`Request`="",`Session`="",`Global`="",`Server`=""
Script name: 
Line number: 0
Caller: errorHandler
Backtrace: #0 we_base_errorHandler::errorHandler called at [:]
#1 we_database_base->query called at [webEdition/we/classes/base/we_base_errorHandler.class.php:335]
Cannot log error! Could not send e-mail due to no known recipient:
An Exception occurred while executing a script in webEdition.


webEdition address: www.xxx.de,

URI: xxx.php
Host: web3.alfahosting-server.de
Error type: Exception
Error message: Cannot log error! Query failed: Table './e9j75cf3_salem2021/tblErrorLog' is marked as crashed and should be repaired
Error message: syntax error, unexpected 'onload' (T_STRING)
Script name: SECURITY_REPL_DOC_ROOT/webEdition/generated/templates/_inkludiert/xxx.php
Line number: 32
Caller: -
Backtrace: -
Also, sobald ich die html tags einbinde:

Code: Alles auswählen

$nachricht  = '<html><head>   <title>xxx</title></head><body><table>';
$nachricht .= '<tr><td>Vorname:</td><td> '.$_POST['vorname'].'<br></td></tr>';
$nachricht .= '</table></body></html>';


$header  = 'MIME-Version: 1.0' . "\r\n";
$header .= "Content-type: text/html; charset=utf-8". "\r\n";
$header .= 'From: xxx <info@xxx.de>' . "\r\n";
mail($empfaenger, $betreff, $nachricht, $header);


Ohne klappt alles.
Hat jemand eine Idee?
Würde es gerne optisch ein wenig anpassen.

Danke schon mal.

Re: HTML Mail Versand SQL Fehler

Verfasst: Di 5. Jul 2022, 12:28
von mokraemer
die WE Templates werden analysiert und anhand der HTML-Struktur html/head/body auseinandergenommen. Wenn du die Tags an anderer Stelle brauchst, dann mußt du sie trennen:

Code: Alles auswählen

$x='<ht'.'ml><he'.'ad>';
Die Alternative ist, das du dir eine (statische) Seite mit Platzhaltern baust und darin die Werte ersetzt. Das ist auch weniger fehleranfällig als ein Formular zusammensetzen, denn da kann man die Tags sauber prüfen und vergißt nicht mal schnell ein "</div>" oder hat einen Schreibfehler drin.
Den Inhalt von dem Dok kannst du dir per

Code: Alles auswählen

$str=we_getDocumentByID();
holen. Und dann per

Code: Alles auswählen

strtr($str,[
'%FORENAME%'=>we_base_request::string('vorname')
]);
ersetzen.

Btw. du solltest nicht einfach die Request-Daten in eine Mail stecken... Da könnte JS/html-Tags o.ä. drin stecken.....