HTML Eine Art Kontaktformular mit einfachen Mitteln realisieren

CyborgBeta

Captain
Registriert
Jan. 2021
Beiträge
3.147
Nabend, ich bin mir gerade unsicher, wie ich das gut/einfach umsetzen könnte ...

Ich möchte eine einfache Website mit HTML (und JS ...) programmieren, auf der es ein Formular geben soll. Wenn man auf "Absenden" klickt, dann soll eine E-Mail mit dem Inhalt an mich gesendet werden.

So weit, so gut. Ein E-Mail-Server (SMTP) läuft schon. Ließe sich das mit JavaScript umsetzen? Oder darf das Senden der Mail nicht Clientseitig erfolgen?

Vielen Dank
 
Du brauchst auf jeden Fall irgendwas generisches auf der Backendseite. Die Logindaten zu deinem Mailserver wirst du sicherlich nicht exposen wollen. Ob du das nu mit PHP, JS, suchs dir aus machst, ist egal.

Alternative einen der unzähligen Form Dienste nutzen? Google Forms, Microsoft Forms ...
 
  • Gefällt mir
Reaktionen: M4ttX
Testa2014 schrieb:
Die Logindaten zu deinem Mailserver wirst du sicherlich nicht exposen wollen
Doch, das hatte ich eigentlich im Visier ... Ich würde die Website einfach mit Nutzernamen und Passwort schützen wollen.
 
Oder Wordpress Seite aufsetzten und ein Form-Plugin nutzen. Da geht's halt komplett ohne Code und mit ein wenig Security built in. Da kann man zumindest keine kapitalen Fehler einbauen.

Aber nur für ein Formular fast schon Overkill.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Oelepoeto und CyborgBeta
conglom-o schrieb:
Geht easy mit PHP.

Dann probiere ich das mal. Ich hatte fast noch nie etwas mit PHP gemacht. Muss ich dafür nur das Modul im apache aktivieren - und kann ich dann PHP-Code (ähnlich wie JS ...) direkt in das HTML pflanzen? Oder ist das nicht üblich so?
 
PHP-Code wird Serverseitig ausgeführt. Beim Client kann prinzipiell nur javascript ausgeführt werden. Der Betrieb eines Mail-Servers ist (afaik) deutlich aufwendiger als einen Webserver zu betreiben für diese Zwecke. Ich würde einfach eine der hier angebrachten Alternativen nehmen, Google Forms oder eine simple Wordpress Installation. Per Javascript clientseitig zu verschicken halte ich ebenfalls für Wahnsinn und wäre mir spontan nichtmal sicher, ob Browser so etwas überhaupt erlauben.
 
Jo, aber der Server liefert HTML aus. Demzufolge könnte er es auch vorher parsen.
 
Und was soll das Ergebnis sein von diesem Parsen? Javascript? Weil mit HTML kannst du keine E-mail versenden.
 
Schaut mal, ob so etwas in der Richtung möglich wäre:

1688399901763.png


Mit einem richtigen "Token" könnten dann die SMTP-Anmeldedaten entschlüsselt werden. Ginge das - oder ist das blöd so?
 
BeBur schrieb:
PHP-Code wird Serverseitig ausgeführt.
Ich bin jetzt einfach mal davon ausgegangen, dass er eine Domaine für seine Webseite hat und PHP inklusive ist.

Habe selber ein Formular auf meinen Webseiten, welches mir eine Nachricht schickt. Keine Angabe von Passwörtern o.ä. notwendig. So sieht es aus:
1688400243018.png
 
Bitte antworte doch mal auf meine Frage.
 
CyborgBeta schrieb:
Mit einem richtigen "Token" könnten dann die SMTP-Anmeldedaten entschlüsselt werden. Ginge das - oder ist das blöd so?
Mir zumindest ist unklar, wovon du sprichst, aber das der Client die Zugangsdaten zum Server zugeschickt bekommt ist wie gesagt Wahnsinn.
 
  • Gefällt mir
Reaktionen: Michael-Menten und kim88
BeBur schrieb:
aber das der Client die Zugangsdaten zum Server zugeschickt bekommt
Ja, allerdings in verschlüsselter/gesalzener Form. :)

Sprich: Jemand, der den Token nicht kennt, oder sich diesen nicht herleiten kann, kann damit auch nix anfangen. ;)
 
CyborgBeta schrieb:
Ja, allerdings in verschlüsselter/gesalzener Form. :)
Es geht prinzipbedingt nicht, dass gleichzeitig
a) der Client selbstständig eine E-Mail über den Mailserver verschicken kann und
b) der Client die Logindaten nicht erhält.
Das ist das selbe, warum Hashing nicht clientseitig durchgeführt werden kann. Alles, womit sich der Client einloggen kann sind per Definition Logindaten.
 
Da die Frage immer mal wieder auftaucht:

Ich habe hier ein simples Kontaktformular mal für jemanden hier Forum runtergeschrieben.

Kannst du im Grunde adaptieren und an deine Bedürfnisse anpassen.

Code ist gut kommentiert daher es sollte klar sein wo was passiert.

Die kontakt.php zeichnet das formular

Die send_kontakt.php kümmert sich um den Versand.

https://github.com/srueegger/contactform-klaus-computerbase/tree/main
 
  • Gefällt mir
Reaktionen: sh., netzgestaltung, conglom-o und 2 andere
kim88 schrieb:
Kannst du im Grunde adaptieren und an deine Bedürfnisse anpassen.
Ist das denn eine gute Idee, bei dem hier vorliegenden Wissensstand? Man sollte da besser auf fertige Lösungen setzen, bei denen nicht selber Server betrieben werden müssen oder selber programmiertechnisch Hand angelegt wird, finde ich.
 
conglom-o schrieb:
Habe selber ein Formular auf meinen Webseiten, welches mir eine Nachricht schickt. Keine Angabe von Passwörtern o.ä. notwendig. So sieht es aus:
Ich vermute, der Unterschied zu meiner Frage wäre, dass du wahrscheinlich ein google Captcha v3 im Hintergrund laufen lässt und die SMTP-Anmeldedaten nicht clientseitig sichtbar sind, also vom Backend gehandhabt werden.
 
BeBur schrieb:
Ist das denn eine gute Idee, bei dem hier vorliegenden Wissensstand?

Es ist alles sauber dokumentiert also ja.
 
  • Gefällt mir
Reaktionen: netzgestaltung
BeBur schrieb:
Ist das denn eine gute Idee, bei dem hier vorliegenden Wissensstand? Man sollte da besser auf fertige Lösungen setzen, bei denen nicht selber Server betrieben werden müssen oder selber programmiertechnisch Hand angelegt wird, finde ich.
Sei bitte etwas netter. Du kennst meinen Wissensstand nicht. Nur Idioten urteilen pauschal.
 
  • Gefällt mir
Reaktionen: kuddlmuddl
Zurück
Oben