lib/action_mailer/quoting.rb in actionmailer-2.0.5 vs lib/action_mailer/quoting.rb in actionmailer-2.1.0
- old
+ new
@@ -22,10 +22,12 @@
CHARS_NEEDING_QUOTING = /[\000-\011\013\014\016-\037\177-\377]/
end
# Quote the given text if it contains any "illegal" characters
def quote_if_necessary(text, charset)
+ text = text.dup.force_encoding(Encoding::ASCII_8BIT) if text.respond_to?(:force_encoding)
+
(text =~ CHARS_NEEDING_QUOTING) ?
quoted_printable(text, charset) :
text
end
@@ -36,10 +38,10 @@
# Quote the given address if it needs to be. The address may be a
# 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) }
elsif address =~ /^(\S.*)\s+(<.*>)$/
address = $2