☰ Docs menu · Email templates
Email templates
Choose the language of the confirm e-mail, password reset and magic-link e-mails, write your own subject, message and button, set your button colour and how long each link works. Built-in English and Persian.
Abrova Auth sends three e-mails: confirm e-mail, password reset and magic link. Each has a built-in English and Persian text. You choose the language for the project, the app can choose it per user, and you can write your own subject and message in Abrova Auth › Email templates.
Step 1: Choose the language#
Two settings decide the language of each e-mail, like in Firebase:
| Setting | Where | What it does |
|---|---|---|
| Template language | Console › Abrova Auth › Email templates | The language of every e-mail the app sends without a language. English by default. |
| languageCode | The SDK, per user | The language of this user’s e-mails. It wins over the template language. |
Set the language in the app before sending a magic link, a password reset or a confirmation:
// Flutter
await AbrovaAuth.instance.setLanguageCode('fa'); // or useDeviceLanguage()// iOS AbrovaAuth.shared.languageCode = "fa" // or AbrovaAuth.shared.useAppLanguage()
// Android AbrovaAuth.shared.languageCode = "fa" // or AbrovaAuth.shared.useAppLanguage()
// Web and React Native auth.languageCode = 'fa'; // or auth.useDeviceLanguage()
The value is a language tag such as fa, fa-IR or en-US. A language Abrova has no texts for uses the template language. Without an SDK, send the x-abrova-locale header with the request.
The link in the e-mail carries the language too, so Abrova's own confirm and reset pages open in the same language.
languageCode needs Abrova Auth SDK 0.3.0: Flutter, iOS, Android, Web or React Native. With an older SDK the template language applies.
Step 2: Write your own text#
Open Abrova Auth › Email templates, pick the e-mail and the language, and edit:
| Field | What it does |
|---|---|
| Sender name | The name the e-mail comes from. Empty: your project’s name. The address stays noreply@abrova.ir. |
| Reply-to address | Where replies go, for example your support address. Empty: replies are not received. |
| Subject | Up to 150 characters, one line. |
| Message | Up to 2,000 characters of plain text. An empty line starts a new paragraph. |
| Button text | The words on the button, up to 40 characters. |
| Button colour | Your brand colour for the button, for example #ff6600. The text on it turns black or white, whichever reads better. Empty: Abrova blue. |
Use these placeholders in the subject and the message:
| Placeholder | Becomes |
|---|---|
| %APP_NAME% | Your project’s name |
| %EMAIL% | The user’s e-mail address |
| %EXPIRES% | How long the link works, in the e-mail’s language: 15 minutes, 24 hours, ۷ دقیقه |
The built-in message ends with “The link works once and expires in %EXPIRES%. If you did not ask for this, ignore this e-mail.” Reword it or remove it.
Step 3: Choose how long each link works#
Set it next to each e-mail, in minutes. It applies to both languages, and %EXPIRES% always shows the real value.
| Default | Allowed | |
|---|---|---|
| Magic link | 15 minutes | 5 to 60 minutes |
| Password reset | 30 minutes | 5 to 60 minutes |
| Confirm e-mail | 24 hours | 1 hour to 7 days |
At least 5 minutes, because an e-mail can take a minute or two to arrive. A magic link or a reset link works for at most an hour, because a stolen one signs someone in or changes their password. Every link still works only once, and a new link cancels the older ones.
The preview shows the e-mail exactly as it will be sent. Use the built-in text goes back to Abrova's text for that e-mail and language.
What stays the same#
Below your message, Abrova always adds the button and the link written out (for e-mail apps that hide buttons). They can't be removed, so an edited e-mail always keeps a working, visible link. The message is plain text, not HTML, and the e-mail comes from noreply@abrova.ir with your sender name.
Next steps#
Last updated: 7 Nov 2026