Thank you for answer.
I've spend a few hours today, how excactly mail works in YAF (big gap in my knowledge was why you create a table in DB and how it cleans). So, after debuging your code I have some tips for your in a future:
1. Do not delete a row from yaf_Mail. You say that YAF doesn't provide any code for log mail exceptions. But you may update row in yaf_Mail with exception text if it happens (or mark it as Success if mail sent without any error).
2. All modern smtp servers works asynchronically. So do not need special parallel tasks for sending mail in two phases.
3. yaf_Mail.SentTime - time when mail was processed.