aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorGareth Rees <gareth@mysociety.org>2014-11-04 15:16:01 +0000
committerGareth Rees <gareth@mysociety.org>2014-11-04 15:16:01 +0000
commit401f44b19bbe9defca7623fdf5436b94d06def83 (patch)
treee6f6294dd18596b8d5733da43cb9977a02f685a1 /lib
parent01be1a10f03f060f6e9d30a19ef40c723117d6cb (diff)
Add fix for Apple Mail with attachments
Diffstat (limited to 'lib')
-rw-r--r--lib/mail_handler/backends/mail_backend.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/mail_handler/backends/mail_backend.rb b/lib/mail_handler/backends/mail_backend.rb
index 190e79e97..ae3077a72 100644
--- a/lib/mail_handler/backends/mail_backend.rb
+++ b/lib/mail_handler/backends/mail_backend.rb
@@ -248,6 +248,9 @@ module MailHandler
# Choose the best part from alternatives
def choose_best_alternative(mail)
+ if mail.parts.any?(&:multipart?)
+ return mail.parts.detect(&:multipart?)
+ end
if mail.html_part
return mail.html_part
elsif mail.text_part
@@ -261,6 +264,7 @@ module MailHandler
# wherever there is an alternative, and then count the returned
# leaves and assign url_part values to them
def get_attachment_leaves(mail)
+ # TODO: Most of these methods are modifying in place! :(
expand_and_normalize_parts(mail, mail)
leaves = _get_attachment_leaves_recursive(mail, nil, mail)
mail.count_parts_count = 0