PHP Kontaktformular funktioniert nicht?

2 Antworten

Eine ziemlich einfache Lösung bietet dir PapercutSMTP. Das ist ein Mailserver, den du zum Testen auf deinem lokalen Gerät verwenden kannst.

Wie du ihn benutzen kannst, wird in diesem Artikel erklärt: Test sending emails with PapercutSMTP in PHP using XAMPP.

Noch eine andere Lösung wäre der Mercury Mailserver, den XAMPP in seinem Installationspaket anbietet. Dessen Konfiguration ist allerdings etwas aufwendiger. Eine Schritt-für-Schritt-Anleitung findet man beispielsweise hier.

Und noch zwei Anmerkungen zu deinem Code:

1) Fehlende Angaben sind nicht auf einen internen Serverfehler zurückzuführen, sondern auf einen Fehler des Client. Der Statuscode 400 würde besser passen.

2) Die htmlspecialchars-Funktion ersetzt Sonderzeichen gegen HTML Entities. Das beinhaltet ebenso spitze Klammern. Das heißt, aus

$message = htmlspecialchars('<p>test</p>');

wird

&lt;p&gt;test&lt;/p&gt;

In diesem Ergebnis wird die strip_tags-Funktion nichts zum Entfernen finden.

Den Mail-Server müsstest du auf deinem System einrichten und mit dem Webserver verknüpfen.

Oder aber du versendest E-Mail ohne Server direkt via SMTP:

https://www.gutefrage.net/frage/php-mail-an-outlook-uebergeben#answer-342105459

(Der verlinkte Code ist aber womöglich veraltet, Nutzung auf eigene Gefahr.)


LUCKY1ONE 
Fragesteller
 14.08.2022, 12:48

Am liebsten ohne Server

1
Destranix  14.08.2022, 12:50
@LUCKY1ONE

Das wäre zwar die einfachere und sicherere Variante, aber wenn es ohne Server sein soll, dann schau dir mal den verlinkten Code an, da habe ich vor Jahren mal etwas eigenes geschrieben.

0