Я пытаюсь найти, что существующий модуль Drupal отвечает всем требованиям: в основном, когда электронному письму не удается отправить, оно должно сохранить электронную почту и автоматически попытаться снова послать электронную почту позже. Я использую модуль SMTP для релейных электронных писем через шлюз SMTP (требуемый поставщиком услуг хостинга), но время от времени соединению отказывают - вероятно, из-за шлюза, являющегося слишком занятым.
Проверьте модуль MailQ . Хотя его основной целью является отправка писем в cron пакетами, он также предоставляет возможность «повторить попытку при ошибке». Если ваш cron запускается достаточно часто, это может подойти для вашего случая. В противном случае это может служить примером того, как реализовать собственный механизм повтора.