aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib
diff options
context:
space:
mode:
authorJamis Buck <jamis@37signals.com>2005-06-03 10:57:06 +0000
committerJamis Buck <jamis@37signals.com>2005-06-03 10:57:06 +0000
commit100fd7269990d5ecb6dc0f9731cce6714d5ebf76 (patch)
tree482db8a714fbff36ded3c98547c544a41bdd10cf /actionmailer/lib
parent887497b0bb8725018837ddce162363c5f0e3f0b9 (diff)
downloadrails-100fd7269990d5ecb6dc0f9731cce6714d5ebf76.tar.gz
rails-100fd7269990d5ecb6dc0f9731cce6714d5ebf76.tar.bz2
rails-100fd7269990d5ecb6dc0f9731cce6714d5ebf76.zip
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
Diffstat (limited to 'actionmailer/lib')
-rw-r--r--actionmailer/lib/action_mailer/base.rb10
-rw-r--r--actionmailer/lib/action_mailer/part.rb4
2 files changed, 9 insertions, 5 deletions
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)