Resending emails are not process from queue

Created on 16 February 2022, almost 3 years ago
Updated 10 September 2023, over 1 year ago

Problem/Motivation

If the email is sent and tried to be resent afterwards in the time which is delayed, the email is added into queue for later processing: DelayedRequestDispatcher.php

The check for the time is to skip the item to be process from queue is:

  if ($confirmation->getCreatedTime() + intval(\Drupal::config('email_confirmer.settings')->get('resendrequest_delay')) < \Drupal::time()->getRequestTime()) {
      throw new RequeueException('Early confirmation request re-send');
  }

If the cron/queue run after the confirmationCreatedTime + resend request delay, the item will be in the queue forever.

Proposed resolution

Change the operator to skip the queue process if current request time is lower then the delay value.

🐛 Bug report
Status

Needs review

Version

1.0

Component

Code

Created by

🇷🇴Romania szloredan

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.71.5 2024