foodsoft/app/mail_receivers/bounce_mail_receiver.rb

19 lines
498 B
Ruby

class BounceMailReceiver
def self.regexp
/bounce\+(?<local>.*)=(?<domain>[^=]+)/
end
def initialize(match)
@address = "#{match[:local]}@#{match[:domain]}"
end
def received(data)
mail = Mail.new data
subject = mail.subject || 'Unknown bounce error'
MailDeliveryStatus.create email: @address,
message: subject,
attachment_mime: 'message/rfc822',
attachment_data: data
end
end