I have never done such functions myself, but it looks like you can create your own spool class:
<?php class Swift_MySpool extends Swift_DoctrineSpool {}
Enter the field with the status (Sent, Denied, Failed, Email does not exist, etc.)
The Swift_DoctrineSpool class supports the model option, where you can pass the class name to store your mail. Thus, only the creation of your custom model will take effect.
Update status field instead of deleting a queue item when sending
Override the queueMessage() and flushQueue() methods in your class and access the Swift_DoctrineSpool in the symfony API .
Hope this helps.
source share