aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib/action_mailer
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-05-10 15:30:18 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-05-10 15:30:18 +0000
commitee6882614f46c33277c36504d125672bb8f6c34e (patch)
treeb4ea625cf335a5ac98f015410657e5ba6a5c82e8 /actionmailer/lib/action_mailer
parent9c9286710268ff124ffe68727030dbe401bbc3c2 (diff)
downloadrails-ee6882614f46c33277c36504d125672bb8f6c34e.tar.gz
rails-ee6882614f46c33277c36504d125672bb8f6c34e.tar.bz2
rails-ee6882614f46c33277c36504d125672bb8f6c34e.zip
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
Diffstat (limited to 'actionmailer/lib/action_mailer')
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail/attachments.rb4
-rwxr-xr-xactionmailer/lib/action_mailer/vendor/tmail/mail.rb4
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail/quoting.rb4
3 files changed, 8 insertions, 4 deletions
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"]) : "")