MailService renders transactional mails (verify-email, reset-password) from the new de/en `mails` i18n namespace — text plus minimal HTML with escaped interpolation — and enqueues them into mail_outbox. MailWorker delivers pending rows every 15s through an injectable transport (nodemailer; faked in tests) with quadratic backoff and a permanent FAILED state after five attempts, logged as a warning. SMTP_* and APP_BASE_URL join the environment schema with defaults matching the new Mailpit container in the dev overlay. Closes #12 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
20 lines
858 B
JSON
20 lines
858 B
JSON
{
|
|
"common": {
|
|
"greeting": "Hallo {{displayName}},",
|
|
"signoff": "Dein Dorfteich",
|
|
"ignoreHint": "Falls du diese E-Mail nicht angefordert hast, kannst du sie einfach ignorieren."
|
|
},
|
|
"verifyEmail": {
|
|
"subject": "Bestätige deine E-Mail-Adresse",
|
|
"body": "willkommen im Dorfteich! Bitte bestätige deine E-Mail-Adresse, um dein Konto zu aktivieren:",
|
|
"action": "E-Mail-Adresse bestätigen",
|
|
"expiry": "Der Link ist 24 Stunden gültig."
|
|
},
|
|
"resetPassword": {
|
|
"subject": "Passwort zurücksetzen",
|
|
"body": "jemand (hoffentlich du) hat das Zurücksetzen des Passworts für dein Konto angefordert. Über diesen Link kannst du ein neues Passwort setzen:",
|
|
"action": "Neues Passwort setzen",
|
|
"expiry": "Der Link ist eine Stunde gültig. Dein aktuelles Passwort bleibt gültig, bis du ein neues gesetzt hast."
|
|
}
|
|
}
|