aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer
diff options
context:
space:
mode:
Diffstat (limited to 'actionmailer')
-rw-r--r--actionmailer/CHANGELOG2
-rwxr-xr-xactionmailer/Rakefile2
-rw-r--r--actionmailer/lib/action_mailer/base.rb34
-rw-r--r--actionmailer/lib/action_mailer/helpers.rb2
-rw-r--r--actionmailer/lib/action_mailer/part.rb4
-rw-r--r--actionmailer/lib/action_mailer/quoting.rb2
-rw-r--r--actionmailer/lib/action_mailer/vendor.rb4
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/address.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/address.rb)4
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/attachments.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/attachments.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/base64.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/base64.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/compat.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/compat.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/config.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/config.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/core_extensions.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/core_extensions.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/encode.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/encode.rb)32
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/header.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/header.rb)2
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/index.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/index.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/interface.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/interface.rb)9
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/loader.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/loader.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mail.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/mail.rb)8
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mailbox.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/mailbox.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/main.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/main.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mbox.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/mbox.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/net.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/net.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/obsolete.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/obsolete.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/parser.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/parser.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/port.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/port.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/quoting.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/quoting.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/require_arch.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/scanner.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner_r.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/scanner_r.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/stringio.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/stringio.rb)0
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/utils.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/utils.rb)2
-rw-r--r--actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/version.rb (renamed from actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/version.rb)2
-rw-r--r--actionmailer/lib/action_mailer/version.rb4
-rwxr-xr-xactionmailer/test/mail_service_test.rb34
36 files changed, 106 insertions, 41 deletions
diff --git a/actionmailer/CHANGELOG b/actionmailer/CHANGELOG
index b2ce462f0c..bdae0d4d3d 100644
--- a/actionmailer/CHANGELOG
+++ b/actionmailer/CHANGELOG
@@ -1,4 +1,4 @@
-*2.1.0 RC1 (May 11th, 2008)*
+*2.1.0 (May 31st, 2008)*
* Fixed that a return-path header would be ignored #7572 [joost]
diff --git a/actionmailer/Rakefile b/actionmailer/Rakefile
index 22ed396417..c09526cbef 100755
--- a/actionmailer/Rakefile
+++ b/actionmailer/Rakefile
@@ -55,7 +55,7 @@ spec = Gem::Specification.new do |s|
s.rubyforge_project = "actionmailer"
s.homepage = "http://www.rubyonrails.org"
- s.add_dependency('actionpack', '= 2.0.991' + PKG_BUILD)
+ s.add_dependency('actionpack', '= 2.1.0' + PKG_BUILD)
s.has_rdoc = true
s.requirements << 'none'
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb
index 7ed133d099..e065132107 100644
--- a/actionmailer/lib/action_mailer/base.rb
+++ b/actionmailer/lib/action_mailer/base.rb
@@ -5,12 +5,12 @@ require 'action_mailer/utils'
require 'tmail/net'
module ActionMailer #:nodoc:
- # ActionMailer allows you to send email from your application using a mailer model and views.
+ # Action Mailer allows you to send email from your application using a mailer model and views.
#
#
# = Mailer Models
#
- # To use ActionMailer, you need to create a mailer model.
+ # To use Action Mailer, you need to create a mailer model.
#
# $ script/generate mailer Notifier
#
@@ -35,7 +35,8 @@ module ActionMailer #:nodoc:
# * <tt>subject</tt> - The subject of your email. Sets the <tt>Subject:</tt> header.
# * <tt>from</tt> - Who the email you are sending is from. Sets the <tt>From:</tt> header.
# * <tt>cc</tt> - Takes one or more email addresses. These addresses will receive a carbon copy of your email. Sets the <tt>Cc:</tt> header.
- # * <tt>bcc</tt> - Takes one or more email address. These addresses will receive a blind carbon copy of your email. Sets the <tt>Bcc:</tt> header.
+ # * <tt>bcc</tt> - Takes one or more email addresses. These addresses will receive a blind carbon copy of your email. Sets the <tt>Bcc:</tt> header.
+ # * <tt>reply_to</tt> - Takes one or more email addresses. These addresses will be listed as the default recipients when replying to your email. Sets the <tt>Reply-To:</tt> header.
# * <tt>sent_on</tt> - The date on which the message was sent. If not set, the header wil be set by the delivery agent.
# * <tt>content_type</tt> - Specify the content type of the message. Defaults to <tt>text/plain</tt>.
# * <tt>headers</tt> - Specify additional headers to be set for the message, e.g. <tt>headers 'X-Mail-Count' => 107370</tt>.
@@ -54,7 +55,7 @@ module ActionMailer #:nodoc:
#
# = Mailer views
#
- # Like ActionController, each mailer class has a corresponding view directory
+ # Like Action Controller, each mailer class has a corresponding view directory
# in which each method of the class looks for a template with its name.
# To define a template to be used with a mailing, create an <tt>.erb</tt> file with the same name as the method
# in your mailer model. For example, in the mailer defined above, the template at
@@ -157,7 +158,7 @@ module ActionMailer #:nodoc:
# end
# end
#
- # Multipart messages can also be used implicitly because ActionMailer will automatically
+ # Multipart messages can also be used implicitly because Action Mailer will automatically
# detect and use multipart templates, where each template is named after the name of the action, followed
# by the content type. Each such detected template will be added as separate part to the message.
#
@@ -317,6 +318,10 @@ module ActionMailer #:nodoc:
# Specify the from address for the message.
adv_attr_accessor :from
+ # Specify the address (if different than the "from" address) to direct
+ # replies to this message.
+ adv_attr_accessor :reply_to
+
# Specify additional headers to be added to the message.
adv_attr_accessor :headers
@@ -383,8 +388,8 @@ module ActionMailer #:nodoc:
# Receives a raw email, parses it into an email object, decodes it,
# instantiates a new mailer, and passes the email object to the mailer
- # object's #receive method. If you want your mailer to be able to
- # process incoming messages, you'll need to implement a #receive
+ # object's +receive+ method. If you want your mailer to be able to
+ # process incoming messages, you'll need to implement a +receive+
# method that accepts the email object as a parameter:
#
# class MyMailer < ActionMailer::Base
@@ -490,7 +495,7 @@ module ActionMailer #:nodoc:
end
# Delivers a TMail::Mail object. By default, it delivers the cached mail
- # object (from the #create! method). If no cached mail object exists, and
+ # object (from the <tt>create!</tt> method). If no cached mail object exists, and
# no alternate has been given as the parameter, this will fail.
def deliver!(mail = @mail)
raise "no mail object available for delivery!" unless mail
@@ -576,13 +581,14 @@ module ActionMailer #:nodoc:
def create_mail
m = TMail::Mail.new
- m.subject, = quote_any_if_necessary(charset, subject)
- m.to, m.from = quote_any_address_if_necessary(charset, recipients, from)
- m.bcc = quote_address_if_necessary(bcc, charset) unless bcc.nil?
- m.cc = quote_address_if_necessary(cc, charset) unless cc.nil?
-
+ m.subject, = quote_any_if_necessary(charset, subject)
+ m.to, m.from = quote_any_address_if_necessary(charset, recipients, from)
+ m.bcc = quote_address_if_necessary(bcc, charset) unless bcc.nil?
+ m.cc = quote_address_if_necessary(cc, charset) unless cc.nil?
+ m.reply_to = quote_address_if_necessary(reply_to, charset) unless reply_to.nil?
m.mime_version = mime_version unless mime_version.nil?
- m.date = sent_on.to_time rescue sent_on if sent_on
+ m.date = sent_on.to_time rescue sent_on if sent_on
+
headers.each { |k, v| m[k] = v }
real_content_type, ctype_attrs = parse_content_type
diff --git a/actionmailer/lib/action_mailer/helpers.rb b/actionmailer/lib/action_mailer/helpers.rb
index 3e5ed9e9d7..9c5fcc6afb 100644
--- a/actionmailer/lib/action_mailer/helpers.rb
+++ b/actionmailer/lib/action_mailer/helpers.rb
@@ -34,7 +34,7 @@ module ActionMailer
# helper FooHelper
# includes FooHelper in the template class.
# helper { def foo() "#{bar} is the very best" end }
- # evaluates the block in the template class, adding method #foo.
+ # evaluates the block in the template class, adding method +foo+.
# helper(:three, BlindHelper) { def mice() 'mice' end }
# does all three.
def helper(*args, &block)
diff --git a/actionmailer/lib/action_mailer/part.rb b/actionmailer/lib/action_mailer/part.rb
index de1b1689f7..2dabf15f08 100644
--- a/actionmailer/lib/action_mailer/part.rb
+++ b/actionmailer/lib/action_mailer/part.rb
@@ -5,7 +5,7 @@ require 'action_mailer/utils'
module ActionMailer
# Represents a subpart of an email message. It shares many similar
# attributes of ActionMailer::Base. Although you can create parts manually
- # and add them to the #parts list of the mailer, it is easier
+ # and add them to the +parts+ list of the mailer, it is easier
# to use the helper methods in ActionMailer::PartContainer.
class Part
include ActionMailer::AdvAttrAccessor
@@ -13,7 +13,7 @@ module ActionMailer
# Represents the body of the part, as a string. This should not be a
# Hash (like ActionMailer::Base), but if you want a template to be rendered
- # into the body of a subpart you can do it with the mailer's #render method
+ # into the body of a subpart you can do it with the mailer's +render+ method
# and assign the result here.
adv_attr_accessor :body
diff --git a/actionmailer/lib/action_mailer/quoting.rb b/actionmailer/lib/action_mailer/quoting.rb
index b222432787..a2f2c70799 100644
--- a/actionmailer/lib/action_mailer/quoting.rb
+++ b/actionmailer/lib/action_mailer/quoting.rb
@@ -40,7 +40,7 @@ module ActionMailer
# regular email address, or it can be a phrase followed by an address in
# brackets. The phrase is the only part that will be quoted, and only if
# it needs to be. This allows extended characters to be used in the
- # "to", "from", "cc", and "bcc" headers.
+ # "to", "from", "cc", "bcc" and "reply-to" headers.
def quote_address_if_necessary(address, charset)
if Array === address
address.map { |a| quote_address_if_necessary(a, charset) }
diff --git a/actionmailer/lib/action_mailer/vendor.rb b/actionmailer/lib/action_mailer/vendor.rb
index 56a2858be5..7a20e9bd6e 100644
--- a/actionmailer/lib/action_mailer/vendor.rb
+++ b/actionmailer/lib/action_mailer/vendor.rb
@@ -2,9 +2,9 @@
require 'rubygems'
begin
- gem 'tmail', '~> 1.2.2'
+ gem 'tmail', '~> 1.2.3'
rescue Gem::LoadError
- $:.unshift "#{File.dirname(__FILE__)}/vendor/tmail-1.2.2"
+ $:.unshift "#{File.dirname(__FILE__)}/vendor/tmail-1.2.3"
end
begin
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail.rb
index 18003659a6..18003659a6 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/address.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/address.rb
index fa8e5bcd8c..982ad5b661 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/address.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/address.rb
@@ -38,7 +38,7 @@ module TMail
# = Class Address
#
# Provides a complete handling library for email addresses. Can parse a string of an
- # address directly or take in preformatted addresses themseleves. Allows you to add
+ # address directly or take in preformatted addresses themselves. Allows you to add
# and remove phrases from the front of the address and provides a compare function for
# email addresses.
#
@@ -143,7 +143,7 @@ module TMail
# This is to catch an unquoted "@" symbol in the local part of the
# address. Handles addresses like <"@"@me.com> and makes sure they
- # stay like <"@"@me.com> (previously were becomming <@@me.com>)
+ # stay like <"@"@me.com> (previously were becoming <@@me.com>)
if local && (local.join == '@' || local.join =~ /\A[^"].*?@.*?[^"]\Z/)
@local = "\"#{local.join}\""
else
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/attachments.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/attachments.rb
index 5dc5efae5e..5dc5efae5e 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/attachments.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/attachments.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/base64.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/base64.rb
index e294c62960..e294c62960 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/base64.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/base64.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/compat.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/compat.rb
index 1275df79a6..1275df79a6 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/compat.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/compat.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/config.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/config.rb
index 3a876dcdbd..3a876dcdbd 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/config.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/config.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/core_extensions.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/core_extensions.rb
index da62c33bbf..da62c33bbf 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/core_extensions.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/core_extensions.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/encode.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/encode.rb
index 63bccce4fc..458dbbfe6a 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/encode.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/encode.rb
@@ -339,22 +339,36 @@ module TMail
def scanadd( str, force = false )
types = ''
strs = []
-
+ if str.respond_to?(:encoding)
+ enc = str.encoding
+ str.force_encoding(Encoding::ASCII_8BIT)
+ end
until str.empty?
if m = /\A[^\e\t\r\n ]+/.match(str)
types << (force ? 'j' : 'a')
- strs.push m[0]
-
+ if str.respond_to?(:encoding)
+ strs.push m[0].force_encoding(enc)
+ else
+ strs.push m[0]
+ end
elsif m = /\A[\t\r\n ]+/.match(str)
types << 's'
- strs.push m[0]
+ if str.respond_to?(:encoding)
+ strs.push m[0].force_encoding(enc)
+ else
+ strs.push m[0]
+ end
elsif m = /\A\e../.match(str)
esc = m[0]
str = m.post_match
if esc != "\e(B" and m = /\A[^\e]+/.match(str)
types << 'j'
- strs.push m[0]
+ if str.respond_to?(:encoding)
+ strs.push m[0].force_encoding(enc)
+ else
+ strs.push m[0]
+ end
end
else
@@ -453,7 +467,13 @@ module TMail
size = max_bytes(chunksize, str.size) - 6
size = (size % 2 == 0) ? (size) : (size - 1)
return nil if size <= 0
- "\e$B#{str.slice!(0, size)}\e(B"
+ if str.respond_to?(:encoding)
+ enc = str.encoding
+ str.force_encoding(Encoding::ASCII_8BIT)
+ "\e$B#{str.slice!(0, size)}\e(B".force_encoding(enc)
+ else
+ "\e$B#{str.slice!(0, size)}\e(B"
+ end
end
def extract_A( chunksize, str )
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/header.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/header.rb
index 9153dcd7c6..dbdefcf979 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/header.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/header.rb
@@ -59,7 +59,7 @@ module TMail
#
# This is because a mailbox doesn't have the : after the From that designates the
# beginning of the envelope sender (which can be different to the from address of
- # the emial)
+ # the email)
#
# Other fields can be passed as normal, "Reply-To", "Received" etc.
#
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/index.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/index.rb
index 554e2fd696..554e2fd696 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/index.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/index.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/interface.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/interface.rb
index 206653bd5d..2fc2dbdfc7 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/interface.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/interface.rb
@@ -42,7 +42,7 @@ module TMail
# Allows you to query the mail object with a string to get the contents
# of the field you want.
#
- # Returns a string of the exact contnts of the field
+ # Returns a string of the exact contents of the field
#
# mail.from = "mikel <mikel@lindsaar.net>"
# mail.header_string("From") #=> "mikel <mikel@lindsaar.net>"
@@ -591,12 +591,17 @@ module TMail
end
# Destructively sets the message ID of the mail object instance to the passed in string
+ #
+ # Invalid message IDs are ignored (silently, unless configured otherwise) and result in
+ # a nil message ID. Left and right angle brackets are required.
#
# Example:
#
# mail = TMail::Mail.new
+ # mail.message_id = "<348F04F142D69C21-291E56D292BC@xxxx.net>"
+ # mail.message_id #=> "<348F04F142D69C21-291E56D292BC@xxxx.net>"
# mail.message_id = "this_is_my_badly_formatted_message_id"
- # mail.message_id #=> "this_is_my_badly_formatted_message_id"
+ # mail.message_id #=> nil
def message_id=( str )
set_string_attr 'Message-Id', str
end
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/loader.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/loader.rb
index 6c0e251102..6c0e251102 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/loader.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/loader.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/mail.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mail.rb
index fef6b01c39..c3a8803dc4 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/mail.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mail.rb
@@ -255,7 +255,7 @@ module TMail
alias fetch []
# Allows you to set or delete TMail header objects at will.
- # Eamples:
+ # Examples:
# @mail = TMail::Mail.new
# @mail['to'].to_s # => 'mikel@test.com.au'
# @mail['to'] = 'mikel@elsewhere.org'
@@ -265,7 +265,7 @@ module TMail
# @mail['to'].to_s # => nil
# @mail.encoded # => "\r\n"
#
- # Note: setting mail[] = nil actualy deletes the header field in question from the object,
+ # Note: setting mail[] = nil actually deletes the header field in question from the object,
# it does not just set the value of the hash to nil
def []=( key, val )
dkey = key.downcase
@@ -408,8 +408,8 @@ module TMail
when /\AFrom (\S+)/
unixfrom = $1
- when /^charset=.*/
-
+ when /^charset=.*/
+
else
raise SyntaxError, "wrong mail header: '#{line.inspect}'"
end
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/mailbox.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mailbox.rb
index b0bc6a7f74..b0bc6a7f74 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/mailbox.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mailbox.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/main.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/main.rb
index e52772793f..e52772793f 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/main.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/main.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/mbox.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mbox.rb
index 6c0e251102..6c0e251102 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/mbox.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mbox.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/net.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/net.rb
index 65147228a1..65147228a1 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/net.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/net.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/obsolete.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/obsolete.rb
index 22b0a126ca..22b0a126ca 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/obsolete.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/obsolete.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/parser.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/parser.rb
index ab1a828471..ab1a828471 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/parser.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/parser.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/port.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/port.rb
index 445f0e632b..445f0e632b 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/port.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/port.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/quoting.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/quoting.rb
index cb9f4288f1..cb9f4288f1 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/quoting.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/quoting.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/require_arch.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb
index b4fffb8abb..b4fffb8abb 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/require_arch.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/scanner.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner.rb
index a5d01396b8..a5d01396b8 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/scanner.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/scanner_r.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner_r.rb
index f2075502d8..f2075502d8 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/scanner_r.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner_r.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/stringio.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/stringio.rb
index 8357398788..8357398788 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/stringio.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/stringio.rb
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/utils.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/utils.rb
index 9a3afe8985..dc594a4229 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/utils.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/utils.rb
@@ -118,7 +118,7 @@ module TMail
ATOM_UNSAFE = /[#{Regexp.quote aspecial}#{control}#{lwsp}]/n
PHRASE_UNSAFE = /[#{Regexp.quote aspecial}#{control}]/n
TOKEN_UNSAFE = /[#{Regexp.quote tspecial}#{control}#{lwsp}]/n
-
+
# Returns true if the string supplied is free from characters not allowed as an ATOM
def atom_safe?( str )
not ATOM_UNSAFE === str
diff --git a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/version.rb b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/version.rb
index 6bf8cc8061..95228497c0 100644
--- a/actionmailer/lib/action_mailer/vendor/tmail-1.2.2/tmail/version.rb
+++ b/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/version.rb
@@ -32,7 +32,7 @@ module TMail
module VERSION
MAJOR = 1
MINOR = 2
- TINY = 2
+ TINY = 3
STRING = [MAJOR, MINOR, TINY].join('.')
end
diff --git a/actionmailer/lib/action_mailer/version.rb b/actionmailer/lib/action_mailer/version.rb
index 88b9a3c200..c35b648baf 100644
--- a/actionmailer/lib/action_mailer/version.rb
+++ b/actionmailer/lib/action_mailer/version.rb
@@ -1,8 +1,8 @@
module ActionMailer
module VERSION #:nodoc:
MAJOR = 2
- MINOR = 0
- TINY = 991
+ MINOR = 1
+ TINY = 0
STRING = [MAJOR, MINOR, TINY].join('.')
end
diff --git a/actionmailer/test/mail_service_test.rb b/actionmailer/test/mail_service_test.rb
index 57a651ccd4..e5ecb0e254 100755
--- a/actionmailer/test/mail_service_test.rb
+++ b/actionmailer/test/mail_service_test.rb
@@ -40,6 +40,15 @@ class TestMailer < ActionMailer::Base
body "Nothing to see here."
end
+ def different_reply_to(recipient)
+ recipients recipient
+ subject "testing reply_to"
+ from "system@loudthinking.com"
+ sent_on Time.local(2008, 5, 23)
+ reply_to "atraver@gmail.com"
+ body "Nothing to see here."
+ end
+
def iso_charset(recipient)
@recipients = recipient
@subject = "testing isø charsets"
@@ -445,6 +454,31 @@ class ActionMailerTest < Test::Unit::TestCase
assert_equal expected.encoded, ActionMailer::Base.deliveries.first.encoded
end
+ def test_reply_to
+ expected = new_mail
+
+ expected.to = @recipient
+ expected.subject = "testing reply_to"
+ expected.body = "Nothing to see here."
+ expected.from = "system@loudthinking.com"
+ expected.reply_to = "atraver@gmail.com"
+ expected.date = Time.local 2008, 5, 23
+
+ created = nil
+ assert_nothing_raised do
+ created = TestMailer.create_different_reply_to @recipient
+ end
+ assert_not_nil created
+ assert_equal expected.encoded, created.encoded
+
+ assert_nothing_raised do
+ TestMailer.deliver_different_reply_to @recipient
+ end
+
+ assert_not_nil ActionMailer::Base.deliveries.first
+ assert_equal expected.encoded, ActionMailer::Base.deliveries.first.encoded
+ end
+
def test_iso_charset
expected = new_mail( "iso-8859-1" )
expected.to = @recipient