提交 185cca23 编写于 作者: J Jamis Buck

Make sure anything with content-disposition of "attachment" is passed to the...

Make sure anything with content-disposition of "attachment" is passed to the attachment presenter when parsing an email body


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3475 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 acfb8b61
*SVN* *SVN*
* Make sure anything with content-disposition of "attachment" is passed to the attachment presenter when parsing an email body [Jamis Buck]
* Make sure TMail#attachments includes anything with content-disposition of "attachment", regardless of content-type [Jamis Buck] * Make sure TMail#attachments includes anything with content-disposition of "attachment", regardless of content-type [Jamis Buck]
* Rename Version constant to VERSION. #2802 [Marcel Molina Jr.] * Rename Version constant to VERSION. #2802 [Marcel Molina Jr.]
......
...@@ -33,7 +33,7 @@ def body(to_charset = 'utf-8', &block) ...@@ -33,7 +33,7 @@ def body(to_charset = 'utf-8', &block)
part.body(to_charset, &attachment_presenter) part.body(to_charset, &attachment_presenter)
elsif header.nil? elsif header.nil?
"" ""
elsif header.main_type == "text" elsif !attachment?(part)
part.unquoted_body(to_charset) part.unquoted_body(to_charset)
else else
attachment_presenter.call(header["name"] || "(unnamed)") attachment_presenter.call(header["name"] || "(unnamed)")
......
...@@ -21,6 +21,16 @@ Content-Type: text/plain; ...@@ -21,6 +21,16 @@ Content-Type: text/plain;
This is the first part. This is the first part.
--Apple-Mail-12-196940926
Content-Transfer-Encoding: 7bit
Content-Type: text/x-ruby-script;
x-unix-mode=0666;
name="test.rb"
Content-Disposition: attachment;
filename=test.rb
puts "testing, testing"
--Apple-Mail-12-196940926 --Apple-Mail-12-196940926
Content-Transfer-Encoding: base64 Content-Transfer-Encoding: base64
Content-Type: application/pdf; Content-Type: application/pdf;
......
...@@ -704,7 +704,7 @@ def test_headers_removed_on_smtp_delivery ...@@ -704,7 +704,7 @@ def test_headers_removed_on_smtp_delivery
def test_recursive_multipart_processing def test_recursive_multipart_processing
fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email7") fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email7")
mail = TMail::Mail.parse(fixture) mail = TMail::Mail.parse(fixture)
assert_equal "This is the first part.\n\nAttachment: test.pdf\n\n\nAttachment: smime.p7s\n", mail.body assert_equal "This is the first part.\n\nAttachment: test.rb\nAttachment: test.pdf\n\n\nAttachment: smime.p7s\n", mail.body
end end
def test_decode_encoded_attachment_filename def test_decode_encoded_attachment_filename
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册