"> $ln", preg_split('~(*BSR_ANYCRLF)\R~', trim($message)))); } if ($_SERVER["REQUEST_METHOD"] !== "POST") { http_response_code(405); echo "Invalid request method!\n"; exit; } $name = $_POST["name"] ?? missing_field("name"); if (empty($name) || strlen($name) > 128) missing_field("name"); $email = $_POST["email"] ?? missing_field("email"); if (empty($email) || strlen($email) > 128 || !str_contains($email, "@")) missing_field("email"); $subject = $_POST["subject"] ?? missing_field("subject"); if (empty($email) || strlen($subject) > 256) missing_field("subject"); $message = $_POST["message"] ?? missing_field("message"); if (empty($email) || strlen($message) > 16384) missing_field("message"); $captcha = $_POST["captcha"] ?? missing_field("captcha"); if (empty($email) || strlen($captcha) > 7) missing_field("captcha"); $expected_captcha = $_SESSION["captcha_phrase"] ?? null; if ($captcha !== $expected_captcha) { http_response_code(400); echo "Ungültiges CAPTCHA!"; exit; } require_once __DIR__ . "/../vendor/autoload.php"; $mailer_dsn = getenv_or_fail("MAILER_DSN"); $transport = Transport::fromDsn($mailer_dsn); $time = (new DateTimeImmutable("now", new DateTimeZone("Europe/Berlin")))->format("d.m.y \\u\\m H:i"); $serviceAddress = "mystic-contactform+no-reply@jonaskohl.de"; $sender = new Address($email, $name); $body = "Guten Tag $name,\n\nIhre Kontaktanfrage vom $time ist erfolgreich bei uns eingegangen!\nUntenstehend finden Sie eine Kopie Ihrer Nachricht.\n\nMit freundlichen Grüßen\nDas Mystic House Corner Team\n\n---\n\n" . quote($message) . "\n"; try { $transport->send((new Email()) ->from(new Address($serviceAddress, "Mystic House Corner")) ->to($sender) ->subject("Ihre Kontaktanfrage ist bei uns eingegangen") ->text($body) ); $body = "Am $time schrieb $name via Kontaktformular:\n" . quote($message) . "\n"; $transport->send((new Email()) ->from(new Address($serviceAddress, $name)) ->to("mystic@jonaskohl.de") ->replyTo($sender) ->subject("[Mystic House Corner] $subject") ->text($body) ); header("Location: /pages/sent.php"); } catch (TransportExceptionInterface $ex) { header("Location: /pages/sent-error.php"); }