From ee6882614f46c33277c36504d125672bb8f6c34e Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 10 May 2005 15:30:18 +0000 Subject: Step cautiously around subheaders in TMail #1285 [Jamis Buck] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1301 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionmailer/lib/action_mailer/vendor/tmail/attachments.rb | 4 ++-- actionmailer/lib/action_mailer/vendor/tmail/mail.rb | 4 ++++ actionmailer/lib/action_mailer/vendor/tmail/quoting.rb | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) (limited to 'actionmailer/lib/action_mailer/vendor/tmail') diff --git a/actionmailer/lib/action_mailer/vendor/tmail/attachments.rb b/actionmailer/lib/action_mailer/vendor/tmail/attachments.rb index e78d2f91d2..e402b0545f 100644 --- a/actionmailer/lib/action_mailer/vendor/tmail/attachments.rb +++ b/actionmailer/lib/action_mailer/vendor/tmail/attachments.rb @@ -15,8 +15,8 @@ module TMail parts.collect { |part| if part.header["content-type"].main_type != "text" content = part.body # unquoted automatically by TMail#body - file_name = part.header["content-type"].params["name"] || - part.header["content-disposition"].params["filename"] + file_name = part.sub_header("content-type", "name") || + part.sub_header("content-disposition", "filename") next if file_name.blank? || content.blank? diff --git a/actionmailer/lib/action_mailer/vendor/tmail/mail.rb b/actionmailer/lib/action_mailer/vendor/tmail/mail.rb index 22bc8edcca..9111a65042 100755 --- a/actionmailer/lib/action_mailer/vendor/tmail/mail.rb +++ b/actionmailer/lib/action_mailer/vendor/tmail/mail.rb @@ -145,6 +145,10 @@ module TMail @header[key.downcase] end + def sub_header(key, param) + (hdr = self[key]) ? hdr[param] : nil + end + alias fetch [] def []=( key, val ) diff --git a/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb b/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb index 0c2653a6e0..6494b592d6 100644 --- a/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb +++ b/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb @@ -5,7 +5,7 @@ module TMail end def unquoted_body(to_charset = 'utf-8') - from_charset = header['content-type']['charset'] rescue 'us-ascii' + from_charset = sub_header("content-type", "charset") case (content_transfer_encoding || "7bit").downcase when "quoted-printable" Unquoter.unquote_quoted_printable_and_convert_to(quoted_body, @@ -27,7 +27,7 @@ module TMail if multipart? parts.collect { |part| - header = part.header["content-type"] + header = part["content-type"] header && header.main_type == "text" ? part.unquoted_body(to_charset) : (header ? attachment_presenter.call(header.params["name"]) : "") -- cgit v1.2.3