Currently we use RecurHelper::sendSuccessThankYouMail (from the queue and from the UI) and this uses ThankYou::Send which throws exception that we don't like so much in this context. So let's separate it from ThankYou::Send and use @Ejegg's new generic workflow message send.
We should check what happens when there is no email and when the email is on hold in these cases, as we don't want to resend to an email that just bounced a few minutes ago.