fix: Ensure \r\n for line breaks and properly encode subject for umlauts.
This commit is contained in:
parent
4e7b22fde6
commit
54482d90f6
@ -13,8 +13,23 @@ function sanitize_text(string $name, string $type) {
|
||||
return $text;
|
||||
}
|
||||
|
||||
function prepare_message_body($message) {
|
||||
// Replace HTML-Entities with actual carriage returns and line feeds
|
||||
$message = str_replace(" ", "\r", $message);
|
||||
$message = str_replace(" ", "\r", $message);
|
||||
|
||||
// Ensure line breaks via carriage return + line feed
|
||||
$message = str_replace("\r\n", "\n", $message);
|
||||
$message = str_replace("\n", "\r\n", $message);
|
||||
|
||||
$message = "Nachricht von: $name\r\n\r\n" . $message;
|
||||
$message = base64_encode($message);
|
||||
|
||||
return $message;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sending email (Platzhalter)
|
||||
* Sending email
|
||||
*
|
||||
* mail(): Braucht auf dem Server einen korrekt konfigurierten Mailserver
|
||||
* phpmailer: Bibliothek, der per Composer installiert wird. Tut ganz gut mit SMTP.
|
||||
@ -22,12 +37,14 @@ function sanitize_text(string $name, string $type) {
|
||||
function send_message_to_office($subject, $message, $name, $email) {
|
||||
return mail(
|
||||
getenv('WTF_CONTACT_TO'),
|
||||
$subject,
|
||||
$name . "\r\n" . $message,
|
||||
"=?UTF-8?B?" . base64_encode($subject) . "?=",
|
||||
prepare_message_body($message),
|
||||
$additional_headers = array(
|
||||
"From" => getenv('WTF_CONTACT_FROM'),
|
||||
"Reply-To" => $email,
|
||||
"Return-Path" => getenv('WTF_RETURN_PATH'),
|
||||
"Content-Type" => "text/plain; charset=utf-8",
|
||||
"Content-Transfer-Encoding" => "base64",
|
||||
),
|
||||
);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user