diff options
author | Louise Crow <louise.crow@gmail.com> | 2012-12-03 17:40:58 +0000 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2012-12-03 17:40:58 +0000 |
commit | bfb3fe634d8719336a40f1105d322ae2e9c2d0ad (patch) | |
tree | ea42a8b49d2b203c6f8f65f65dcb81019c700d54 /lib/mail_handler/backends/mail_backend.rb | |
parent | 8cff1514903f9dde107532e6a57f6e36e4533920 (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.rb | 17 |
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) |