Я думаю, что проблема в следующем: deliver_later
использует ActiveJob (часть / фреймворк Rails) для скрытой отправки электронных писем в фоновом режиме. Rails по умолчанию поставляется с реализацией асинхронной очереди, которая запускает задания с внутренним пулом потоков. Задания будут выполняться асинхронно, но любые задания в очереди будут сбрасываться при перезапуске или сбоях процесса, поскольку они находятся только в ОЗУ (памяти), но не в постоянном бэкэнде (БД, Redis).
Вам следует переключиться на другой адаптер (Sidekiq, Resque, Delayed Job, ...), если вы хотите, чтобы ваши задания сохранялись.
Вы можете найти подробнее здесь .