Hallo Gemeinde,
ich habe ein WEB-Formular erstellt, welches eine Nachricht über PHPMailer versendet, dies funktioniert nun auch soweit recht gut.
Problematisch wird es, wenn im eingegebenen Text Sonderzeichen wie äöüÄÖÜß vorkommen, diese werden dann
Original Nachricht im WEB-Formular
So sieht es in der Mail dann aus
Auch habe ich noch ein Problem damit, das die Zeilenumbrüche nicht übertragen werden, sondern durch ein Leerzeichen ersetzt werden.
Das ist der komplette PHPMailer-Code.
PHP
<?php
$debug = true; // or
//$debug = false;
require_once "vendor/autoload.php";
$gender = htmlspecialchars($_POST['gender']);
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);
try {
// neue instanz der klasse erstellen
$mail = new PHPMailer\PHPMailer\PHPMailer($debug);
if ($debug) {
// gibt einen ausführlichen log aus
$mail->SMTPDebug = PHPMailer\PHPMailer\SMTP::DEBUG_SERVER;
}
// authentifiziere dich über den smtp-login
$mail->isSMTP();
$mail->SMTPAuth = true;
// login
$mail->Host = "xxx.netcup.net";
$mail->Port = "587";
$mail->Username = "xxx@Testdomain.de";
$mail->Password = "MyPassword";
$mail->SMTPSecure = PHPMailer\PHPMailer\PHPMailer::ENCRYPTION_STARTTLS;
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
),
'tls' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$AbsenderMail = utf8_encode($email);
$AbsenderName = utf8_encode($name);
$AbsenderMailundName = utf8_encode($AbsenderName.' "'.$AbsenderMail.'"');
$mail->isHTML(true);
$mail->Subject = utf8_encode('Kontaktformular, Nachricht von '.$AbsenderMailundName);
$mail->Body = utf8_encode($message);
$mail->AltBody = utf8_encode($message);
$mail->setFrom('norerply@Testdomain.de','Kontaktformular Werkstatt');
$mail->addAddress('hostmaster@Testdomain.de', 'Info Werkstatt');
$mail->addReplyTo($email, $name);
$mail->send();
} catch (PHPMailer\PHPMailer\Exception $e) {
echo "Message could not be sent. Mailer Error: ".$mail->ErrorInfo;
}
?>
Alles anzeigen
und dies der Haeder aus dem Kontaktformular
HTML
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles.css">
<title>Werkstatt</title>
</head>
Ich hoffe hier alle Informationen zur Verfügung gestellt zu haben.
Was mache ich falsch?
Danke für die Unterstützung.