It would be nice to have mail interceptor be able to modify the message to prevent delivery. Alternatively it would be nice to also prevent delivery in the mailer itself.
The use cases are as follows:
- User is unsubscribed and you really want to prevent emails being sent to such users.
- User has a guest account with a temp internal email address, which you do not want to send emails to.
- The email content may be spammy and you want to prevent that delivery.
As such you could do each by wrapping more code around the MyMailer.mail_action(args)/.deliver pattern but it gets repetitive quickly.
This is not environment specific which is already handled very well in Rails since ages, this is more transactional. If we can already do this easily, feel free to point me to the right direction. Happy to send patch in due time if this is acceptable.
Possible routes i’m thinking are to add options to mail itself (:perform_delivery => determine_delivery(args)) and/or adding ability to prevent delivery from interceptor.