Diese Anleitung beschreibt, wie Sie die E-Mail-Adresse eines Mitarbeiters über die Konsole mithilfe der Rails-Konsole ändern können. Sie gilt für Situationen, in denen ein Administrator eine E-Mail-Adresse ohne Bestätigung von der alten Adresse aus aktualisieren muss.
:
Erforderliches Benutzerniveau: Systemadministrator
:
Konsolenzugriff erforderlich
In Discourse müssen Mitarbeiter aus Sicherheitsgründen Änderungen an ihren E-Mail-Adressen sowohl von der neuen als auch von der alten E-Mail-Adresse bestätigen. Dies führt jedoch zu einem Problem, wenn ein Mitarbeiter den Zugriff auf seine alte E-Mail-Adresse verliert und seine E-Mail-Adresse aktualisieren möchte. Diese Anleitung bietet Schritte zur Änderung der E-Mail-Adresse über die Konsole, ohne dass eine Bestätigung der alten E-Mail erforderlich ist.
Diese Befehle können auch verwendet werden, um eine Änderung der E-Mail-Adresse eines Benutzers zu erzwingen und die Notwendigkeit zu umgehen, dass dieser auf den Validierungs-E-Mail-Link klickt.
Zugriff auf die Konsole
Verbinden Sie sich über SSH mit Ihrem Droplet oder verwenden Sie Putty unter Windows:
ssh root@192.168.1.1
Ersetzen Sie 192.168.1.1 durch die IP-Adresse Ihres Droplets.
Wechseln Sie in Ihren Discourse-Ordner:
cd /var/discourse
Betreten Sie den Container:
./launcher enter app
# oder
./launcher ssh app
Greifen Sie auf die Rails Console zu:
rails c
Ändern der E-Mail-Adresse
Um diese für Ihren Benutzer zu personalisieren, geben Sie hier Ihre Informationen ein:
oder
Führen Sie dann diese Befehle aus (jeder in einer separaten Zeile)
u = User.find_by_id(=UserID=)
oder
u = User.find_by_username("=Username=")
u.email = "=EMAIL="
Wenn ein Benutzer das Limit für zurückgesendete E-Mails erreicht hat (d. h. sein Bounce-Score den von Ihrer Discourse-Site festgelegten Schwellenwert überschritten hat), hat das Erstellen eines neuen E-Mail-Tokens mit
u.email_tokens.create(email: u.email)keine Auswirkungen, und Sie müssen zuerst seinen Bounce Score zurücksetzen, bevor Sie fortfahren.
u.email_tokens.create!(email: u.email, scope: EmailToken.scopes[:email_update])
u.save!
Das war’s, Ihre E-Mail-Adresse sollte aktualisiert sein, und Sie sollten sich mit Ihrer neuen E-Mail anmelden können.