diff options
Diffstat (limited to 'actionmailer')
-rw-r--r-- | actionmailer/CHANGELOG | 2 | ||||
-rwxr-xr-x | actionmailer/Rakefile | 2 | ||||
-rw-r--r-- | actionmailer/lib/action_mailer/base.rb | 34 | ||||
-rw-r--r-- | actionmailer/lib/action_mailer/helpers.rb | 2 | ||||
-rw-r--r-- | actionmailer/lib/action_mailer/part.rb | 4 | ||||
-rw-r--r-- | actionmailer/lib/action_mailer/quoting.rb | 2 | ||||
-rw-r--r-- | actionmailer/lib/action_mailer/vendor.rb | 4 | ||||
-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.rb | 4 | ||||
-rwxr-xr-x | actionmailer/test/mail_service_test.rb | 34 |
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 |