class FeedbackMailer < ActionMailer::Base FBM_CONFIG = APP_CONFIG['feedback'] default :to => FBM_CONFIG['email'], :cc => FBM_CONFIG['cc'], :bcc => FBM_CONFIG['bcc'] default_url_options.merge!(:protocol => 'https') if APP_CONFIG['mailer_https_url'] include Resque::Mailer # send email async def feedback_form_send(form_data) @data = Feedback.new(form_data) from = "#{@data.name} <#{@data.email}>" subj = prepare_subject(@data.subject) mail :from => from, :subject => subj end protected def prepare_subject(subject) res = '' res << affix(FBM_CONFIG['subject_prefixes']) res << subject res << affix(FBM_CONFIG['subject_postfixes']) res = res.strip.gsub(/\s+/, ' ') res end def affix(affixes) ' %s ' % Array(affixes).map{|e| "[#{e}]"}.join end end