Hi,
We have a similar situation in our application and the way we handled it is as below.
- In the service task which sends out an email, I will have a try-catch block and when an exception occurs, I put the stack trace(trim to 4k chars) into a process variable and set a flag in process variables to true. And when this service task gets completed, I check for the flag variable and if its true, I send these exception details over to a user/team with an option to retry. So when they do so, I will hit the email service task again.
When the email service task executes without any exception, I set the flag to false and hence the flow takes a happy path.
I hope this helps you in your case.