imlementation of a user management

This commit is contained in:
2026-08-25 13:29:12 +02:00
parent 7aeb325d4e
commit 7c81a7a6f6
5 changed files with 304 additions and 1 deletions
+33
View File
@@ -133,4 +133,37 @@ def send_register_token(email: str, token: str) -> bool:
</div>
"""
return send(email, subject, text_body=text_note, html_body=html_note)
def send_password_reset_token(email: str, token: str) -> bool:
"""Sends a professionally styled password reset token to the user."""
subject = "Aktion erforderlich: Ihr Passwort-Zurücksetzungs-Code für Invario"
text_note = (
"Sie haben eine Anfrage zum Zurücksetzen Ihres Passworts gestellt.\n\n"
"Um Ihr Passwort zurückzusetzen, geben Sie bitte den folgenden Sicherheitscode ein:\n\n"
f"Code: {token}\n\n"
"Dieser Code ist aus Sicherheitsgründen nur für begrenzte Zeit gültig. "
"Falls Sie diese Anfrage nicht gestellt haben, können Sie diese E-Mail einfach ignorieren."
)
html_note = f"""
<div style="font-family: Arial, Helvetica, sans-serif; color: #333333;">
<h2 style="color: #2c3e50; margin-top: 0;">Passwort zurücksetzen</h2>
<p style="font-size: 15px; line-height: 1.6;">
Sie haben eine Anfrage zum Zurücksetzen Ihres Passworts gestellt. Um fortzufahren, verwenden Sie bitte den folgenden Bestätigungscode:
</p>
<div style="background-color: #f1f5f9; border-left: 4px solid #3b82f6; border-radius: 4px; padding: 25px; text-align: center; margin: 30px 0;">
<span style="font-size: 32px; font-weight: bold; letter-spacing: 8px; color: #1e293b;">{token}</span>
</div>
<p style="font-size: 13px; color: #64748b; line-height: 1.5;">
Dieser Code ist aus Sicherheitsgründen nur für eine begrenzte Zeit gültig.<br>
Falls Sie kein Zurücksetzen des Passworts angefordert haben, können Sie diese E-Mail sicher ignorieren.
</p>
</div>
"""
return send(email, subject, text_body=text_note, html_body=html_note)