aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mail_handler/backends/mail_backend.rb
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2012-12-03 17:40:58 +0000
committerLouise Crow <louise.crow@gmail.com>2012-12-03 17:40:58 +0000
commitbfb3fe634d8719336a40f1105d322ae2e9c2d0ad (patch)
treeea42a8b49d2b203c6f8f65f65dcb81019c700d54 /lib/mail_handler/backends/mail_backend.rb
parent8cff1514903f9dde107532e6a57f6e36e4533920 (diff)
Delegate getting the from address of an incoming mail to the mail handler.
Diffstat (limited to 'lib/mail_handler/backends/mail_backend.rb')
-rw-r--r--lib/mail_handler/backends/mail_backend.rb17
1 files changed, 17 insertions, 0 deletions
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)