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
761 B
JSON
20 lines
761 B
JSON
{
|
|
"common": {
|
|
"greeting": "Hello {{displayName}},",
|
|
"signoff": "Your Dorfteich",
|
|
"ignoreHint": "If you did not request this e-mail, you can safely ignore it."
|
|
},
|
|
"verifyEmail": {
|
|
"subject": "Confirm your e-mail address",
|
|
"body": "welcome to Dorfteich! Please confirm your e-mail address to activate your account:",
|
|
"action": "Confirm e-mail address",
|
|
"expiry": "The link is valid for 24 hours."
|
|
},
|
|
"resetPassword": {
|
|
"subject": "Reset your password",
|
|
"body": "someone (hopefully you) requested a password reset for your account. Use this link to set a new password:",
|
|
"action": "Set new password",
|
|
"expiry": "The link is valid for one hour. Your current password stays valid until you set a new one."
|
|
}
|
|
}
|