diff options
Diffstat (limited to 'actionmailer/lib')
-rw-r--r-- | actionmailer/lib/action_mailer/base.rb | 5 | ||||
-rw-r--r-- | actionmailer/lib/action_mailer/part.rb | 3 | ||||
-rw-r--r-- | actionmailer/lib/action_mailer/utils.rb | 8 | ||||
-rwxr-xr-x | actionmailer/lib/action_mailer/vendor/tmail/mail.rb | 6 |
4 files changed, 14 insertions, 8 deletions
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb index 61bc74a81c..89c202fd01 100644 --- a/actionmailer/lib/action_mailer/base.rb +++ b/actionmailer/lib/action_mailer/base.rb @@ -1,6 +1,7 @@ require 'action_mailer/adv_attr_accessor' require 'action_mailer/part' require 'action_mailer/part_container' +require 'action_mailer/utils' require 'tmail/net' module ActionMailer #:nodoc: @@ -293,11 +294,11 @@ module ActionMailer #:nodoc: if @parts.empty? m.set_content_type content_type, nil, { "charset" => charset } - m.body = body + m.body = Utils.normalize_new_lines(body) else if String === body part = TMail::Mail.new - part.body = body + part.body = Utils.normalize_new_lines(body) part.set_content_type content_type, nil, { "charset" => charset } part.set_content_disposition "inline" m.parts << part diff --git a/actionmailer/lib/action_mailer/part.rb b/actionmailer/lib/action_mailer/part.rb index 60cbe0d3fe..d4b8e3b9d9 100644 --- a/actionmailer/lib/action_mailer/part.rb +++ b/actionmailer/lib/action_mailer/part.rb @@ -1,5 +1,6 @@ require 'action_mailer/adv_attr_accessor' require 'action_mailer/part_container' +require 'action_mailer/utils' module ActionMailer class Part #:nodoc: @@ -29,7 +30,7 @@ module ActionMailer when "base64" then part.body = TMail::Base64.folding_encode(body) when "quoted-printable" - part.body = [body].pack("M*") + part.body = [Utils.normalize_new_lines(body)].pack("M*") else part.body = body end diff --git a/actionmailer/lib/action_mailer/utils.rb b/actionmailer/lib/action_mailer/utils.rb new file mode 100644 index 0000000000..552f695a92 --- /dev/null +++ b/actionmailer/lib/action_mailer/utils.rb @@ -0,0 +1,8 @@ +module ActionMailer + module Utils #:nodoc: + def normalize_new_lines(text) + text.to_s.gsub(/\r\n?/, "\n") + end + module_function :normalize_new_lines + end +end diff --git a/actionmailer/lib/action_mailer/vendor/tmail/mail.rb b/actionmailer/lib/action_mailer/vendor/tmail/mail.rb index f4a42df19b..9111a65042 100755 --- a/actionmailer/lib/action_mailer/vendor/tmail/mail.rb +++ b/actionmailer/lib/action_mailer/vendor/tmail/mail.rb @@ -335,13 +335,9 @@ module TMail } end - def normalize_line_endings(text) - text.to_s.gsub(/\r\n?/, "\n") - end - def body=( str ) parse_body - @body_port.wopen {|f| f.write normalize_line_endings(str) } + @body_port.wopen {|f| f.write str } str end |