‫Kursleiter: In Ordnung, jetzt senden
‫wir auch sehr schnell E-Mails zum Zurücksetzen des
‫Passworts, und diese E-Mail wird dieser sehr
‫ähnlich sein, also lass uns einfach alles
‫in eine neue Datei,
‫passwordReset, kopieren. Mops, und fügen
‫Sie das dann hier ein.
‫Nun, ein Teil des Textes, den
‫wir hier haben wollen, ist meiner
‫Meinung nach bereits im authController, also hier unten in
‫ForgotPassword, also genau hier, eigentlich
‫ist diese Nachricht hier genau das, was
‫wir jetzt in unserer Vorlage haben wollen, also greifen wir
‫das einfach, stell es hier in diesem ersten Absatz, jetzt lasst uns das
‫hier am
‫Ende der E-Mail einfügen,
‫dieses brauchen wir nicht, lass
‫es uns hier in einen separaten Absatz einfügen, dann hier, es ist
‫eigentlich nicht das, okay, aber stattdessen verwenden
‫wir die URL hier so, also eine Interpolation und dann
‫eine URL, und außerdem setzen wir diese URL hier
‫ein, eine grüne Schaltfläche hier.
‫Also hier, sagen wir mal als Text, setze dein Passwort zurück.
‫Dann nur hier, wie dieser Absatz, sagen wir vorerst,
‫Website für diese Aktion noch
‫nicht implementiert.
‫Das sollte also die Vorlage sein.
‫Als nächstes erstellen wir die Sendefunktion hier
‫in unserer E-Mail-Klasse, also haben wir sendWelcome, und jetzt haben wir
‫eine andere
‫Situation, für die wir E-Mails senden möchten, und fügen
‫einfach hier eine weitere
‫Methode hinzu , also
‫sendPasswordReset, also warte darauf. send, und so
‫heißt
‫jetzt der Vorlagenname passwordReset, also der,
‫den wir gerade erstellt
‫haben, und jetzt die Betreffzeile,
‫die sein wird, Ihr Passwort-Reset-Token, und
‫sagen wir auch, nur 10 Minuten gültig.
‫Okay, speichern wir das, und jetzt müssen wir als letzten
‫Schritt diese Methode hier tatsächlich aufrufen.
‫Also in unserem authController, wo wir das
‫alles vorher hier hatten, sagen wir jetzt, warten wir auf neue E-Mails, genau
‫wie zuvor für die Anmeldung, und
‫jetzt suchen wir den aktuellen
‫Benutzer, und er heißt einfach user und dann die resetURL ,
‫die wir hier oben bereits definiert haben.
‫Okay, und dann die Methode,
‫die wir gerade erstellt haben, sendPasswordReset, und das war's.
‫Okay, also keine Definition von Betreffzeilen hier, auch keine
‫Definition von Nachrichten, und so haben wir das alles mit unserem neuen,
‫wirklich netten E-Mail-Handler abstrahiert, und lasst uns den hier tatsächlich auch
‫in den try-Block setzen, um diese beiden hier
‫wirklich zu behalten zusammen.
‫Okay, und das sollte reichen, damit wir es
‫jetzt tatsächlich testen können.
‫Okay, gehen wir also zu Postman und setzen wir das Passwort
‫für diesen Benutzer zurück, das wir gerade in
‫der letzten
‫Vorlesung erstellt haben, also
‫Passwort zurücksetzen, das ist also nicht
‫das, also tatsächlich Passwort vergessen.
‫Hier müssen wir also nur die E-Mail angeben
‫und die sollte uns dann unser Reset-Token besorgen, erinnerst du dich?
‫Wenn ich das jetzt sende, dann haben wir unseren Erfolg, und jetzt
‫sollten wir auch unsere E-Mail bekommen, und
‫tatsächlich ist sie hier.
‫So schön!
‫Also von hello@jonas kommend. io und
‫gehe zu test3@natours. io, das ist der
‫Benutzer, für den wir gerade das Passwort zurückgesetzt haben, und
‫hier ist diese URL, und
‫nun lassen Sie uns den gesamten Ablauf
‫durchführen und das Passwort für diesen Benutzer tatsächlich zurücksetzen.
‫Jetzt müssen wir also die Route zum Zurücksetzen des
‫Passworts verwenden und nun löschen wir all dies und dann
‫auch diesen Teil, was hier wirklich zählt, ist nur
‫dieses Token.
‫Und jetzt hier, setzen wir dann das neue Passwort, und
‫sagen wir tatsächlich neues Passwort, und das
‫ist das, das wir verwendet haben, damit ich
‫es nicht vergesse.
‫Versuchen wir es also mit Erfolg.
‫Lassen Sie uns als letzten Schritt
‫sehen, ob wir uns hier tatsächlich auf unserer Website einloggen können.
‫Also einloggen, ich glaube, ich habe die E-Mail kopiert,
‫nein, habe ich nicht, also test3@natours. io, und was ich kopiert
‫habe, war das Passwort.
‫Das war also erfolgreich, und wir haben hier unser Standard-Image, und
‫jetzt könnten wir es natürlich hochladen, aber wir
‫wissen bereits, dass das funktioniert, und müssen
‫es daher nicht testen.
‫Wie Sie bereits wissen, verfangen sich
‫zu diesem Zeitpunkt alle unsere E-Mails tatsächlich hier in Mailtrap,
‫und das liegt daran, dass wir im Entwicklungsmodus
‫diese E-Mails hier nicht an echte Benutzer weitergeben möchten,
‫auch würden wir das tun haben keine Möglichkeit, sich diese E-Mails
‫anzusehen, wenn sie wirklich in den E-Mail-Postfächern unserer echten
‫Benutzer landen würden, und deshalb verwenden wir einen solchen Dienst.
‫Im nächsten Video werden wir dann jedoch
‫beginnen, echte E-Mails zu versenden, also E-Mails an echte E-Mail-Adressen,
‫die dann in ihren Posteingängen landen.