35 lines
822 B
Ruby
35 lines
822 B
Ruby
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
|