Hi Leute,
es geht um einen Fehler in der Bestätigungsmail einer per Kontaktformular gesendeten Mail nach Umstellung der PHP-Version beim Hoster.
Seit der Änderung der PHP Version beim Hoster von 5 auf PHP 7 steht im Betreff der Bestätigungsmail an den Anfrager nicht mehr "XY bedankt sich für ihre Nachricht" sondern nur noch "=?iso-8859-1?Q??=".
Das Formular auf der (simplen) HTML-Website (es ist eine Seite aus der guten alten Zeit, sprich sehr alt) wurde mit PHPMailer (Version: 5.1) eingebunden soweit ich das verstanden habe (in der Datei class.phpmailer.php steht, dass es mit PHP 5 oder höher funktionieren sollte).
Es gibt eine Datei class.phpmailer.php und die eigentliche Seite unter der Datei kontakt.php. Liegt direkt beides im Hauptverzeichnis.
Kann man mit geringem Aufwand etwas nachpflegen um den Fehler zu bereinigen oder sollte die Einbindung komplett bearbeitet werden? Die Website soll ohnehin demnächst einen Relaunch erhalten, daher wäre für jetzt gleich eher eine schnelle, kleine Lösung erstrebenswert. Bin allerdings PHP-Laie.
Die Einbindung in der kontakt.php Datei beginnt wie folgt:
<?php
require_once 'class.phpmailer.php';
$lengthm = strlen($_POST["send"]["mail"]);
$lengtha = strlen($_POST["send"]["autor"]);
$lengthn = strlen($_POST["send"]["nachricht"]);
$i = "0";
if(isset($_POST["send"]) && is_array($_POST["send"])) {
$_POST["send"]["autor"] = stripslashes($_POST["send"]["autor"]);
$_POST["send"]["mail"] = stripslashes($_POST["send"]["mail"]);
$_POST["send"]["nachricht"] = stripslashes($_POST["send"]["nachricht"]);
usw.
später heißt es:
#--------------------- für den Benutzer
$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch
try {
$mail->AddAddress($_POST["send"]["mail"], $_POST["send"]["autor"]);
$mail->SetFrom('[email protected]', 'Das Unternehmen XY');
$mail->Subject = 'XY bedankt sich für Ihre Nachricht.';
..
Habt Ihr einen Rat für mich, oder wo zu suchen wäre?
Danke für Hinweise und Hilfe.
Viele Grüße
Kay-Bee
es geht um einen Fehler in der Bestätigungsmail einer per Kontaktformular gesendeten Mail nach Umstellung der PHP-Version beim Hoster.
Seit der Änderung der PHP Version beim Hoster von 5 auf PHP 7 steht im Betreff der Bestätigungsmail an den Anfrager nicht mehr "XY bedankt sich für ihre Nachricht" sondern nur noch "=?iso-8859-1?Q??=".
Das Formular auf der (simplen) HTML-Website (es ist eine Seite aus der guten alten Zeit, sprich sehr alt) wurde mit PHPMailer (Version: 5.1) eingebunden soweit ich das verstanden habe (in der Datei class.phpmailer.php steht, dass es mit PHP 5 oder höher funktionieren sollte).
Es gibt eine Datei class.phpmailer.php und die eigentliche Seite unter der Datei kontakt.php. Liegt direkt beides im Hauptverzeichnis.
Kann man mit geringem Aufwand etwas nachpflegen um den Fehler zu bereinigen oder sollte die Einbindung komplett bearbeitet werden? Die Website soll ohnehin demnächst einen Relaunch erhalten, daher wäre für jetzt gleich eher eine schnelle, kleine Lösung erstrebenswert. Bin allerdings PHP-Laie.
Die Einbindung in der kontakt.php Datei beginnt wie folgt:
<?php
require_once 'class.phpmailer.php';
$lengthm = strlen($_POST["send"]["mail"]);
$lengtha = strlen($_POST["send"]["autor"]);
$lengthn = strlen($_POST["send"]["nachricht"]);
$i = "0";
if(isset($_POST["send"]) && is_array($_POST["send"])) {
$_POST["send"]["autor"] = stripslashes($_POST["send"]["autor"]);
$_POST["send"]["mail"] = stripslashes($_POST["send"]["mail"]);
$_POST["send"]["nachricht"] = stripslashes($_POST["send"]["nachricht"]);
usw.
später heißt es:
#--------------------- für den Benutzer
$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch
try {
$mail->AddAddress($_POST["send"]["mail"], $_POST["send"]["autor"]);
$mail->SetFrom('[email protected]', 'Das Unternehmen XY');
$mail->Subject = 'XY bedankt sich für Ihre Nachricht.';
..
Habt Ihr einen Rat für mich, oder wo zu suchen wäre?
Danke für Hinweise und Hilfe.
Viele Grüße
Kay-Bee