> For the complete documentation index, see [llms.txt](https://docs.norrnext.com/norrcompetition/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.norrnext.com/norrcompetition/plugins/norrcompetition-token-email.md).

# NorrCompetition Token Email

Email delivery channel plugin for Token Verification voting in NorrCompetition.

### Overview

**NorrCompetition Token Email** (plg\_competition\_token\_email) provides the email delivery channel for the **Verification Code (OTP)** voting system in NorrCompetition.

When a contest has Token Verification voting enabled, voters must enter an email address to receive a one-time numerical confirmation code before their vote is cast and recorded. This plugin registers the email input channel and dispatches the code via email.

***

### How It Works

1. **Voter Input**: When a user clicks the Vote button on an entry, the vote modal opens and displays an email input field (mail channel).
2. **Code Generation & Dispatch**: The voter submits their email address. NorrCompetition generates a secure one-time verification code and triggers the onTokenSend event.
3. **Delivery**: The plugin dispatches the verification code to the specified email address using Joomla's Mail API and the com\_competition.vote\_token mail template.
4. **Vote Confirmation**: The voter enters the received code in the modal to confirm and complete their vote.

***

### Installation & Setup

1. Install the plugin package via **System > Install > Extensions**.
2. Navigate to **System > Plugins** and search for Competition Token - Email (plg\_competition\_token\_email).
3. Enable (publish) the plugin.
4. Ensure your global Joomla Mail settings (**System > Global Configuration > Server > Mail**) are configured properly to send emails.

{% hint style="info" %}
To activate verification codes for a contest, make sure the contest's voting settings or Global Options are configured to use **Token Verification** with the email channel enabled.
{% endhint %}
