HTML Eine Art Kontaktformular mit einfachen Mitteln realisieren

@CyborgBeta du hast hier selbst gesagt das du noch nicht viel in PHP gemacht hast.

Gleichzeitig wolltest du SMTP Daten über den Client verarbeiten. Jeder von uns kann sich deinen Wissensstand vorstellen.

Das ist auch nicht abwertend gemeint. Jeder fängt mal am Anfang an.

Andere hingegen als Idioten zu bezeichnen geht gar nicht. Damit bin ich dann auch raus wenn es um weitere Hilfe für irgendwas geht.
 
  • Gefällt mir
Reaktionen: mental.dIseASe, Cool Master und BeBur
@kim88 Erstmal Danke. :) Es gibt ein Problem mit deiner Lösung ...

https://stackoverflow.com/a/11811740

On *nix it invokes the sendmail binary, which then uses the mail configuration to route the email.

Ich bräuchte ein PHP command, dass Anmeldedaten entgegennimmt und die Mail dann "selbständig" sendet, da ich sendmail nicht konfiguriert habe.
Ergänzung ()

kim88 schrieb:
Das ist auch nicht abwertend gemeint. Jeder fängt mal am Anfang an.
Was ist denn das Problem daran, einen freundlichen Umgangston zu wahren, und andere darauf hinzuweisen, wenn sie dies nicht tun?
 
  • Gefällt mir
Reaktionen: kuddlmuddl
Im Kern passt die "unfreundliche" Nachricht.
Dein Kenntniss stand ist nicht hinreichend um ein sauberes Kontaktforumlar zubauen. Mit einer Spam-Schleuder oder sonstige Sicherheitslücken ist auch niemanden geholfen.
Daher schau nach einer sauberen Implementierung und nutz die.

Vergess nicht, dass du in dem Vorgang personenbezogene Daten verarbeitest und ggf. speicherst. d.h. deine Datenschutzerklärung muss passen.

CyborgBeta schrieb:
Ich bräuchte ein PHP command, dass Anmeldedaten entgegennimmt und die Mail dann "selbständig" sendet
Wie sieht überhaupt dein hosting aus? ist das irgend ein Webseiten Baukasten, HTML+PHP+Datenbank (etc.) oder VPS?
 
  • Gefällt mir
Reaktionen: BeBur und kim88
Auch auf stack overflow hauen sie sich die Köppe ein, aber es geht auch mit JavaScript:

https://stackoverflow.com/a/54489746

<script src="https://smtpjs.com/v3/smtp.js"></script>

Javascript:
Email.send({
    Host : "smtp.yourisp.com",
    Username : "username",
    Password : "password",
    To : 'them@website.com',
    From : "you@isp.com",
    Subject : "This is the subject",
    Body : "And this is the body"
    }).then(
      message => alert(message)
    );

// oder

Email.send({
    SecureToken : "C973D7AD-F097-4B95-91F4-40ABC5567812",
    To : 'them@website.com',
    From : "you@isp.com",
    Subject : "This is the subject",
    Body : "And this is the body"
}).then(
  message => alert(message)
);

Damit wäre das Problem schon einmal vom Tisch.

Jetzt geht es nur noch darum, mit einer JavaScript-Funktion einen Token-String wie "C973D7AD-F097-4B95-91F4-40ABC5567812"

sicher

zu ver- und entschlüsseln, damit ich den Token in die Website einfügen kann.
Ergänzung ()

Michael-Menten schrieb:
Vergess nicht, dass du in dem Vorgang personenbezogene Daten verarbeitest und ggf. speicherst. d.h. deine Datenschutzerklärung muss passen.
Nein, muss sie nicht.

Nimm es mir bitte nicht übel, aber ich würde es sehr begrüßen, wenn du dieses Thema im weiteren Verlauf ignorieren würdest. Danke.
 
Es gibt zwei elementare Grundregeln:
1. Du baust keine eigne Crypto.
2. Der User ist immer Böse. Traue niemanden.

Regel zwei ist dein Problem. Die Implentierung hat keinerlei DDOS protection oder spam prevention.
Nochmal was zum Nachdenken: Ich kann in den Absender reinschreiben was ich will. Solange der Mailserver die Nachricht akzeptiert kommt die an.
Nehmen wir an du sendest eine Eingangsbestätigung. Was passiert jetzt wenn ich als Absender den Empfänger reinschreibe? Du schickst dir dann bis in alle Ewigkeit oder bis der Service zusammenbricht bzw. gedrosselt wird Eingangsbestätigungen selbst zu.

Selbst wenn du das so schereibst, dass die mail client side geschickt wird, verarbeitet die Webseite personenbezogene Daten. Email adresse und ggf. Inhalt sowie IP-Adressen. Diese sendest du entweder an dich selbst oder eine dritte Partei, die ggf. nicht in der EU ist.
 
  • Gefällt mir
Reaktionen: BeBur und Dragon0001
CyborgBeta schrieb:
sicher

zu ver- und entschlüsseln, damit ich den Token in die Website einfügen kann.
Noch einmal, alles was du an den Client lieferst kann der lesen. EGAL ob du es verschlüsselst oder nicht. Selbst wenn du letzten Endes einen Token rausbekommst oder ein PW. Der User kann diese Funktion zum Entschlüsseln SELBST in der Konsole (Entwicklertools) anstoßen. Aufwand, wenn’s 30 Sekunden sind, hat sich derjenige noch n Kaffee nebenbei geholt. Zur Not schaut er nach was kommuniziert wird. In der IT lernt man eines immer am Anfang, Zero Trust. Dazu gehört auch der Client, oder anders gesagt, vor allem der Client.

Für eine öffentliche Umgebung überhaupt nicht praktikabel. Klar, kannst du jetzt seitens Mailserver irgendein Whitelisting machen (ich in meinem Postfach jedenfalls nicht, extra geprüft), nur wie sicher ist das ganze? Wie schaut es mit in 2 Jahren aus, wenn das PW geändert wird? Wäre „mir“ alles zu fehleranfällig und risikoreich. Letzten Endes ist niemand geholfen, wenn dein Mailserver ne Spamschleuder ist.

Hättest du einfach irgendein beliebigen Anbieter genommen, wärst du schon längst fertig und hättest bei dem guten Wetter draußen sitzen können.
 
  • Gefällt mir
Reaktionen: BeBur, Dragon0001 und kim88
CyborgBeta schrieb:
Jetzt geht es nur noch darum, mit einer JavaScript-Funktion einen Token-String wie "C973D7AD-F097-4B95-91F4-40ABC5567812"

sicher

zu ver- und entschlüsseln, damit ich den Token in die Website einfügen kann.
Das ist unmöglich, da der Code zum "entschlüsseln" zwangsweise für jeden Besucher, der in den Quelltext schaut, sichtbar und ausführbar ist.
 
  • Gefällt mir
Reaktionen: netzgestaltung, BeBur und kim88
Hm, ja, gut, ich überdenke es noch mal.
 
  • Gefällt mir
Reaktionen: kuddlmuddl
was smtpjs macht, du speicherst deine Credentials auf deren Server, dafür bekommst du einen UUID (Token) zurück, welche du verwenden kannst mit ihrem Javascript, bzw. auf deine Credentials verweisen (DB, Filesystem, wo auch immer) und dann die Configuration angewendet wird.
Wie die Credentials gehandhabt/gespeichert werden, weiss keiner so genau, plaintext oder verschlüsselt (Und auch da kommt es an, wie das gemacht wird)

Was mich halt an dem Service noch stutzig macht, wenn man man mal irgendwelche Fake Daten zum testen übermittelt, werden die nicht als Form Daten sondern als URL Daten übermittelt, was man so schon mal nicht machen sollte und bei Standart Webserver Einstellung schon mal in den Logs so gespeichert wird, also unabhängig, ob die Ihre Daten verschlüsseln oder nicht
 
  • Gefällt mir
Reaktionen: BeBur
CyborgBeta schrieb:
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.
Kein Captcha. SMTP Daten sind für niemanden sichtbar, da auch nirgends irgendwo eingetragen. Zumindest finde ich im Quelltext dazu nichts :evillol:. Habe eigene Webdomains und ein Hostingpaket inkl. PHP.
 
Mh, das, was ich dachte, wird zu kompliziert ... ich wollte den Bekannten (vielleicht 5 Personen) einen Code geben, mit dem sie eine E-Mail über das Kontaktformular hätten schreiben können, und die Zugangsdaten sollten dafür mit diesem Code entschlüsselt werden können ... das heißt, wer den Code nicht kennen würde, der könnte mit den verschlüsselten Zugangsdaten auch nichts anfangen (und vice versa).

Aber schaut euch mal ein Beispiel für eine (sichere) clientseitige Verschlüsselung an: https://github.com/themikefuller/Web-Cryptography

Die Idee verwerfe ich aber wieder. ;) Zugangsdaten sollten ... auch in verschlüsselter Form, nicht ausgeliefert werden.
 
BTW, es hat inzwischen geklappt :D

1688652534721.png
 
Da fehlt noch ein Opt-In zur Kenntnisnahme der DSGVO.
 
Nein!
Credentials Für deinen Mailserver gehören NIEMALS in Javascript oder HTML Code, da diese im Brower dem User im Klartext vorliegen.

Folglich muss das Senden der Email im Server geschehen. Sei es mit PHP oder anderer Serverside ausgeführten Logik.
 
Cool Master schrieb:
Alles klar, dein Problem wenn es zur Abmahnung kommt
Sag das GitHub, nicht mir. ;)

LencoX2 schrieb:
Nein!
Credentials Für deinen Mailserver gehören NIEMALS in Javascript oder HTML Code, da diese im Brower dem User im Klartext vorliegen.

Folglich muss das Senden der Email im Server geschehen. Sei es mit PHP oder anderer Serverside ausgeführten Logik.
Die Logik wird mittlerweile Serverseitig ausgeführt. ;)
 
@Cool Master Also, du bist doch nicht schwer von Begriff... GitHub ist der Betreiber.
 
@CyborgBeta

Du erhebst Personenbezogene Daten daher bist du im Sinne der DSGVO der Verarbeiter. Wenn GitHub der Betreiber ist brauchst du streng genommen auch noch ein AV-Vertrag (Auftragsverarbeitungsvertrag) mit GitHub. Da GitHub meines Wissens nach keine Server in DE bzw. der EU hat setzt du dich damit wirklich einem großen Risiko aus. Aber gut, ist deine Entscheidung.
 
  • Gefällt mir
Reaktionen: Midnight Sun
Zurück
Oben