From 100fd7269990d5ecb6dc0f9731cce6714d5ebf76 Mon Sep 17 00:00:00 2001 From: Jamis Buck Date: Fri, 3 Jun 2005 10:57:06 +0000 Subject: Added a "content_type" accessor to allow messages to explicitly specify a content-type other than "text/plain" (the default). git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1382 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionmailer/lib/action_mailer/base.rb | 10 +++++++--- actionmailer/lib/action_mailer/part.rb | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'actionmailer/lib') diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb index 15f08caf40..59ee47a137 100644 --- a/actionmailer/lib/action_mailer/base.rb +++ b/actionmailer/lib/action_mailer/base.rb @@ -138,8 +138,11 @@ module ActionMailer #:nodoc: @@default_charset = "utf-8" cattr_accessor :default_charset + @@default_content_type = "text/plain" + cattr_accessor :default_content_type + adv_attr_accessor :recipients, :subject, :body, :from, :sent_on, :headers, - :bcc, :cc, :charset + :bcc, :cc, :charset, :content_type attr_reader :mail @@ -156,6 +159,7 @@ module ActionMailer #:nodoc: def create!(method_name, *parameters) @bcc = @cc = @from = @recipients = @sent_on = @subject = nil @charset = @@default_charset.dup + @content_type = @@default_content_type.dup @parts = [] @headers = {} @body = {} @@ -255,13 +259,13 @@ module ActionMailer #:nodoc: headers.each { |k, v| m[k] = v } if @parts.empty? - m.set_content_type "text", "plain", { "charset" => charset } + m.set_content_type content_type, nil, { "charset" => charset } m.body = body else if String === body part = TMail::Mail.new part.body = body - part.set_content_type "text", "plain", { "charset" => charset } + part.set_content_type content_type, nil, { "charset" => charset } part.set_content_disposition "inline" m.parts << part end diff --git a/actionmailer/lib/action_mailer/part.rb b/actionmailer/lib/action_mailer/part.rb index 9f95df0a16..cb3a3dc053 100644 --- a/actionmailer/lib/action_mailer/part.rb +++ b/actionmailer/lib/action_mailer/part.rb @@ -9,7 +9,7 @@ module ActionMailer adv_attr_accessor :filename, :transfer_encoding, :headers def initialize(params) - @content_type = params[:content_type] || "text/plain" + @content_type = params[:content_type] @content_disposition = params[:disposition] || "inline" @charset = params[:charset] @body = params[:body] @@ -20,7 +20,7 @@ module ActionMailer def to_mail(defaults) part = TMail::Mail.new - part.set_content_type(content_type, nil, + part.set_content_type(content_type || defaults.content_type, nil, "charset" => (content_disposition == "attachment" ? nil : (charset || defaults.charset)), "name" => filename) -- cgit v1.2.3