No need to check in normal code, just do everything as usual and this interceptor will prevent you from spamming people who do not want any emails.
Its not perfect(missing bc/bcc filters but if should be fine for 90% of cases)
#config/initializers/blacklisted_emails.rb class MailInterceptor def self.delivering_email(message) if User.where(:email => message.to, :receive_emails => false).any? message.perform_deliveries = false end end end Mail.register_interceptor(MailInterceptor)
Very useful — thank you for sharing!