Email templates

Your space sends a number of emails automatically — a welcome message when someone registers, a reminder before a contest, a note when a penalty is applied. Each of them has a key, and a template you write in Content → Emails replaces the platform's default wording and design for that key. Writing templates needs permission to change content.

The Emails tab lists only the templates your space has defined. Every system email you have not overridden simply uses the built-in default and does not appear here.

Override a system email

  1. Open Content → Emails and press Create template.

  2. Enter the Key of the email you are replacing, exactly as it appears in the table below.

  3. Write the Subject. It is required, and it is itself a template, so it can contain variables.

  4. Write the Content — the HTML body, in a code editor with HTML highlighting, with the preview beside it.

  5. Save.

From then on, that email goes out in your wording. Delete the template and the email falls back to the built-in default again.

There is no test send from the console. The preview is the only check you get before the email reaches somebody, so read it carefully — and note that it renders the HTML in isolation from the console's own styling, allows only a restricted set of tags and attributes, and leaves links inert. Anything outside that set is stripped from the preview.

You do not need to write a footer. One naming the space and offering the unsubscribe link is appended to every email automatically.

Variables

Subject and content are templates in Go's syntax: {{ .variable_name }}. Values are HTML-escaped as they are inserted. For a value that is already HTML — a rendered reason or description — write {{ html .variable_name }} instead, which inserts the markup after stripping scripts, event handlers and javascript: links.

Every template can use:

Variable

What it holds

space_id, space_key, space_name, space_home_url, space_image_url

The space sending the email

member_email, member_display_name, member_name, member_nickname, member_locale, member_country, member_rank, member_rating, member_level

The recipient

member_attributes

The recipient's custom member attributes, keyed by attribute key

unsubscribe_link

Present for the email types a recipient is allowed to unsubscribe from

Each system email adds its own variables, listed below.

System email keys

Key

Sent when

Extra variables

eolymp/community/welcome

A new account is registered and needs to confirm its address

code, confirm_url

eolymp/community/email-confirmation

An address is added or changed and needs confirming

code, confirm_url

eolymp/community/password-reset

A password recovery is requested

code, reset_url, nickname

eolymp/community/penalty-applied

A penalty is applied to a member

description_html, scope, expire_date

eolymp/community/credits-granted

Credits are granted to a member

balance, credit_total_amount, credit_note, credit_reference, credit_expires_at

eolymp/contest/reminder

A participant is reminded of an upcoming contest

contest_id, contest_name, contest_image_url, contest_starts_at, contest_starts_in, contest_ends_at, contest_duration, contest_link

eolymp/contest/disqualified

A participant is disqualified

contest_name, participant_name, reason

eolymp/discussion/message-violation

A member's comment is deleted with a reason

reason

eolymp/problem/suggestion-received

A problem suggestion is filed

problem_number, problem_title, comment_html

eolymp/problem/suggestion-approved

A problem suggestion is accepted

problem_number, problem_title, comment_html

eolymp/problem/suggestion-rejected

A problem suggestion is declined

problem_number, problem_title, comment_html

A key is lower-case letters, digits and - _ . /, starting with a letter or a digit, up to 255 characters. The same key can hold a template per language — see the translation dropdown on the template's screen.

Templates you invent yourself

Keys are not limited to the list above. An automation rule can send an email using any key, including one your space makes up for its own purposes, which is how you send a message the platform has no system email for.

What gets sent, and what it counts against

Account emails — address confirmation and password reset — go out even to addresses that have not been verified yet, because verifying is what they are for. Every other type is sent only once the recipient's address is verified, and each one counts against your space's email allowance. See Quotas and limits.

Bulk mail you write and send yourself is a different feature and is not an email template; see Newsletters.