From bfb3fe634d8719336a40f1105d322ae2e9c2d0ad Mon Sep 17 00:00:00 2001 From: Louise Crow Date: Mon, 3 Dec 2012 17:40:58 +0000 Subject: Delegate getting the from address of an incoming mail to the mail handler. --- lib/mail_handler/backends/mail_backend.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'lib/mail_handler/backends/mail_backend.rb') diff --git a/lib/mail_handler/backends/mail_backend.rb b/lib/mail_handler/backends/mail_backend.rb index b85ce64a6..ac543540e 100644 --- a/lib/mail_handler/backends/mail_backend.rb +++ b/lib/mail_handler/backends/mail_backend.rb @@ -29,10 +29,27 @@ module MailHandler part_file_name.nil? ? nil : part_file_name.dup end + # Get the body of a mail part def get_part_body(mail_part) mail_part.body.decoded end + # Return the first from field if any + def first_from(mail) + if mail[:from] && mail[:from].addrs[0] + mail[:from].decoded + mail[:from].addrs[0] + else + nil + end + end + + # Return the first from address if any + def get_from_address(mail) + first_from = first_from(mail) + first_from ? first_from.address : nil + end + # Format def address_from_name_and_email(name, email) if !MySociety::Validate.is_valid_email(email) -- cgit v1.2.3