The extension point PreSendMessageEventListener is a java interface that can be implemented to perform actions before the message is sent to the customer.
Your plugin receives parameters containing additional information about the message to be sent.
Your plugin may influence the workflow in case of an error. By throwing a TemporaryMessagingException the plugin indicates that the attempt to send the message should be cancelled at that moment and retried again after a short time period. By throwing a PermanentMessagingException the plugin indicates that the attempt to send the message should be cancelled and that the message should be marked as a send failure in the outgoing folder. The detail message of the exception will be visible in the tickets course.