The email task is a quite useful simple task - however, I think in it's current form it is hardly usable in a productive environment: any failure (be it a missing / invalid email address or a failure on the server side) is propagated as exception to the workflow, where it cannot be handled gracefully. <!–break–> It is possible to write a delegate for that or to write an own mail task - and we have done exactly that. More precisely, we have changed the activiti implementation by writing the error information into process variables: The workflow can then e.g. query for this process variables in a gateway.