Я никогда не выполнял такую функцию сам, но кажется, что вы можете создать свой собственный класс спула:
<?php
class Swift_MySpool extends Swift_DoctrineSpool {}
Иметь поле со статусом (Отправлено, Не отправлено, Не удалось, Электронная почта не существует и т. Д.)
Класс Swift_DoctrineSpool
поддерживает параметр под названием model
, в котором вы можете передать имя класса для хранения вашей почты. Итак, создание вашей пользовательской модели вступит в силу.
Обновлять поле состояния вместо удаления элемента очереди при отправке
Переопределите queueMessage()
и flushQueue()
методы в вашем классе и обратитесь к Swift_DoctrineSpool в API Symfony .
Надеюсь, это поможет.