Problem/Motivation

Currently there is no built-in way to route all outgoing emails through a queue and retry them later if sending fails. The number of retry attempts is hard-coded to 5 in the processor, and it cannot be configured per queue or per mail policy.

Proposed resolution

The goal is to enhance the existing queue system with Symfony Mailer support and configurable retry behavior. This includes:

  • Implementing a new Email Adjuster that allows routing all outgoing emails into a chosen mail_entity_queue.
  • The Email Adjuster will also allow configuring the maximum number of retry attempts for those emails.
  • Implement a processor to use Symfony Mailer instead of MailManager.
  • Adding a configurable field on the queue item entity to store the maximum number of retry attempts, where: 0 = unlimited retries
Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

evamtinez created an issue. See original summary.

  • facine committed 6b2c39e1 on 2.x authored by evamtinez
    [#3552418] feat: Add configurable retry queue for failed emails
    
    By:...
facine’s picture

Status: Active » Fixed

Thank you! Merged.

Now that this issue is closed, please review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, please credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.