diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-04-13 04:44:58 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-04-13 04:44:58 +0000 |
commit | d5cadfc1108728635055d476eff7b34c975705d6 (patch) | |
tree | 8fd34ee0fc1512d5b0cbfcfd5aa62b06f00a9d94 /actionmailer/lib/action_mailer/base.rb | |
parent | 6f5fcc44699e50b54301d2005180e443da45be8f (diff) | |
download | rails-d5cadfc1108728635055d476eff7b34c975705d6.tar.gz rails-d5cadfc1108728635055d476eff7b34c975705d6.tar.bz2 rails-d5cadfc1108728635055d476eff7b34c975705d6.zip |
Address parsing failed when the "to" (or "cc", or whatever) was an array. It was also too restrictive in the formats of the addresses #1097 [Jamis]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1149 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionmailer/lib/action_mailer/base.rb')
-rw-r--r-- | actionmailer/lib/action_mailer/base.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb index a20197c754..27a0c8e19c 100644 --- a/actionmailer/lib/action_mailer/base.rb +++ b/actionmailer/lib/action_mailer/base.rb @@ -166,7 +166,9 @@ module ActionMailer #:nodoc: # it needs to be. This allows extended characters to be used in the # "to", "from", "cc", and "bcc" headers. def quote_address_if_necessary(address, charset) - if address =~ /^([^<>\s]+) (<.*>)$/ + if Array === address + address.map { |a| quote_address_if_necessary(a, charset) } + elsif address =~ /^(\S.+)\s+(<.*>)$/ address = $2 phrase = quote_if_necessary($1, charset) "#{phrase} #{address}" |