diff options
author | Jamis Buck <jamis@37signals.com> | 2005-09-01 14:45:10 +0000 |
---|---|---|
committer | Jamis Buck <jamis@37signals.com> | 2005-09-01 14:45:10 +0000 |
commit | a32251487174dffe420980fbc9d43bcf4472d2af (patch) | |
tree | 542a8a5191200b31291f2caea8d7c98728750d1e /actionmailer/lib/action_mailer/vendor/tmail/quoting.rb | |
parent | ca410998abb8ed14bdc5edf0734eb8f83bf12317 (diff) | |
download | rails-a32251487174dffe420980fbc9d43bcf4472d2af.tar.gz rails-a32251487174dffe420980fbc9d43bcf4472d2af.tar.bz2 rails-a32251487174dffe420980fbc9d43bcf4472d2af.zip |
Preserve underscores when unquoting message bodies #1930
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2089 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionmailer/lib/action_mailer/vendor/tmail/quoting.rb')
-rw-r--r-- | actionmailer/lib/action_mailer/vendor/tmail/quoting.rb | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb b/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb index b593efafcd..36bf03f0a3 100644 --- a/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb +++ b/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb @@ -9,7 +9,7 @@ module TMail case (content_transfer_encoding || "7bit").downcase when "quoted-printable" Unquoter.unquote_quoted_printable_and_convert_to(quoted_body, - to_charset, from_charset) + to_charset, from_charset, true) when "base64" Unquoter.unquote_base64_and_convert_to(quoted_body, to_charset, from_charset) @@ -47,7 +47,7 @@ module TMail class Unquoter class << self - def unquote_and_convert_to(text, to_charset, from_charset = "iso-8859-1") + def unquote_and_convert_to(text, to_charset, from_charset = "iso-8859-1", preserve_underscores=false) return "" if text.nil? if text =~ /^=\?(.*?)\?(.)\?(.*)\?=$/ from_charset = $1 @@ -55,7 +55,7 @@ module TMail text = $3 case quoting_method.upcase when "Q" then - unquote_quoted_printable_and_convert_to(text, to_charset, from_charset) + unquote_quoted_printable_and_convert_to(text, to_charset, from_charset, preserve_underscores) when "B" then unquote_base64_and_convert_to(text, to_charset, from_charset) else @@ -66,8 +66,9 @@ module TMail end end - def unquote_quoted_printable_and_convert_to(text, to, from) - convert_to(text.gsub(/_/," ").unpack("M*").first, to, from) + def unquote_quoted_printable_and_convert_to(text, to, from, preserve_underscores=false) + text = text.gsub(/_/, " ") unless preserve_underscores + convert_to(text.unpack("M*").first, to, from) end def unquote_base64_and_convert_to(text, to, from) |