Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Email Confirmer

885 sites Security covered Drupal 9–11
View on drupal.org

Email Confirmer is a suite of modules that provides a central API and content entity for managing email address confirmations within Drupal. It offers functionalities like user email change confirmation and stores confirmation details in a database, preventing repetitive confirmations. The base module is intended for developers, while sub-modules provide end-user features.

Email confirmer is a suite to confirm email addresses in Drupal. It provides:

  • an API and a service as a central method for email confirmation that other modules can use
  • a content entity type to store and control the confirmations
  • essential functionalities featured by included sub-modules, like user email change confirmation

User's email address confirmation

Drupal core provides a mechanism to confirm the user's email when registering, but that's all. The email_confirmer_users included sub-module provides:

  • confirmation request when a user changes their email address
  • update the database of confirmed emails when a users logs in for the first time or by an one-time log in link

What does it mean to confirm an email address?

An email address is confirmed by sending a message to this address with a hash-protected link. This link points to a confirmation form where the recipient can accept or cancel the confirmation.

Database of confirmed email addresses

By design, email confirmer stores each confirmation in a content entity. Currently there is no UI to list or work directly with them becouse that's out of the purpose of it, but any module can work with it.

A basic advantage of having a database is that users do not need to re-confirm again and again the same email address for different usages, like email subscriptions or by updating the address in their user profile.

Email confirmer automatically also deletes old records. The time to live can be stablish in the module settings, or disabled at all for a permanent database.

Usage

The base module does not have an UI and does nothing by itself. The intended audience is module developers or web site programmers. Only the configuration may be relevant for webmasters and website builders.

The included submodules provide some end-user functionalities. Currently one submodule is provided for user email address related confirmations.

For module developers

  • launch an email confirmation in just 1 line
    \Drupal::service('email_confirmer')->confirm('[email protected]');
  • get notified of successful confirmation via “hook”
    your module will be notified when the user confirms (or cancels)
  • confirmation control are content entities
    so you’ll get confirmation status tracking and easy integration (fields, hooks, views...)

General features

  • confirmations can be cancelled
    if someone enters another person's email, the recipient can explicitly reject the confirmation
  • automatic purge of old records
    processed or expired confirmations are automatically purged (can be disabled by configuration)
  • spool for recurring requests
    the first email for requesting confirmation is delivered immediately, the following are queued
  • optional restricted validation by IP address
    the confirmation link must be opened from the same connection that initiates the confirmation process
  • multiple configurable parameters
    confirmation timeout and lifetime, response messages, confirmation request email...

Modules using email confirmer

  • Mailing List (D8)
    has integration with email confirmer for double opt-in subscription

If you know any other module that makes use of email_confirmer, please report me.

Roadmap

  • New features and integration with existing modules such as webform are in mind.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Apr 2025
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 1
Maintenance
Dormant

Releases

Version Type Core Release date
8.x-1.0 Stable 9–11 Apr 2, 2025