package de.oaa.xxx.mail; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; /** * Generates HTML email bodies with inline styles derived from app.theme.* properties. * Changing theme colors in application.properties automatically updates email appearance. * (Email clients don't support external CSS or CSS variables, so styles must be inlined.) */ @Service public class MailTemplateService { @Value("${app.theme.color-bg:#1a1a2e}") private String colorBg; @Value("${app.theme.color-card:#16213e}") private String colorCard; @Value("${app.theme.color-primary:#e94560}") private String colorPrimary; @Value("${app.theme.color-secondary:#0f3460}") private String colorSecondary; @Value("${app.theme.color-text:#eeeeee}") private String colorText; @Value("${app.theme.color-muted:#888888}") private String colorMuted; @Value("${app.theme.color-success:#2ecc71}") private String colorSuccess; public String buildEmailChangeMail(String name, String confirmLink, String newEmail) { return """
Moin %s,
Du hast eine Änderung deiner E-Mail-Adresse angefordert.
Klick auf den Button, um deine neue Adresse %s zu bestätigen:
Falls du diese Änderung nicht angefordert hast, kannst du diese E-Mail einfach ignorieren.
Moin %s,
Du hast eine Anfrage zum Zurücksetzen deines Passworts gestellt.
Klick auf den Button, um ein neues Passwort zu vergeben:
Falls du diese Anfrage nicht gestellt hast, kannst du diese E-Mail einfach ignorieren.
Moin %s,
%s hat dich als Keyholder*In für das Chastity-Lock %s eingetragen.
Wenn du die Keyholder*In-Rolle annehmen möchtest, klicke auf den Button. Das Lock startet erst nach deiner Bestätigung mit dir als Keyholder*In.
Falls du die Rolle nicht annehmen möchtest, kannst du diese E-Mail einfach ignorieren. Das Lock läuft dann als Self-Lock weiter.
Hallo %s,
%s
%sDu erhältst diese E-Mail, weil du E-Mail-Benachrichtigungen für diese Kategorie aktiviert hast. Du kannst deine Einstellungen jederzeit unter Einstellungen → Benachrichtigungen anpassen.
Moin %s,
Vielen Dank für deine Anmeldung!
Klick auf den Button, um deine E-Mail-Adresse zu bestätigen:
Falls der Button nicht funktioniert, öffne %s und gib folgenden Code ein:
%s
Viel Spaß beim Spiel!