tmail 1.2.3.1 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +10 -0
- data/ext/tmailscanner/tmail/tmailscanner.c +39 -8
- data/lib/tmail.rb +1 -0
- data/lib/tmail/address.rb +6 -40
- data/lib/tmail/attachments.rb +41 -22
- data/lib/tmail/encode.rb +9 -0
- data/lib/tmail/header.rb +5 -3
- data/lib/tmail/interface.rb +40 -3
- data/lib/tmail/mail.rb +3 -3
- data/lib/tmail/mailbox.rb +3 -2
- data/lib/tmail/net.rb +3 -1
- data/lib/tmail/parser.rb +204 -620
- data/lib/tmail/parser.y +38 -3
- data/lib/tmail/quoting.rb +38 -1
- data/lib/tmail/utils.rb +28 -4
- data/lib/tmail/vendor/rchardet-1.3/COPYING +504 -0
- data/lib/tmail/vendor/rchardet-1.3/README +12 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet.rb +67 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/big5freq.rb +927 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/big5prober.rb +42 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb +237 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/charsetgroupprober.rb +112 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/charsetprober.rb +75 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/codingstatemachine.rb +64 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/constants.rb +42 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/escprober.rb +90 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/escsm.rb +244 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/eucjpprober.rb +88 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/euckrfreq.rb +596 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/euckrprober.rb +42 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/euctwfreq.rb +430 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/euctwprober.rb +42 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/gb2312freq.rb +474 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/gb2312prober.rb +42 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/hebrewprober.rb +289 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/jisfreq.rb +570 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/jpcntx.rb +229 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/langbulgarianmodel.rb +229 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/langcyrillicmodel.rb +330 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/langgreekmodel.rb +227 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/langhebrewmodel.rb +202 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/langhungarianmodel.rb +226 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/langthaimodel.rb +201 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/latin1prober.rb +147 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb +89 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcsgroupprober.rb +47 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcssm.rb +542 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/sbcharsetprober.rb +124 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/sbcsgroupprober.rb +58 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/sjisprober.rb +88 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/universaldetector.rb +166 -0
- data/lib/tmail/vendor/rchardet-1.3/lib/rchardet/utf8prober.rb +87 -0
- data/lib/tmail/version.rb +1 -1
- data/setup.rb +2 -2
- data/test/fixtures/apple_unquoted_content_type +44 -0
- data/test/fixtures/inline_attachment.txt +2095 -0
- data/test/fixtures/iso_8859_1_email_without_encoding_and_message_id.txt +16 -0
- data/test/fixtures/mailbox.zip +0 -0
- data/test/fixtures/marked_as_iso_8859_1_but_it_is_utf_8.txt +33 -0
- data/test/fixtures/marked_as_utf_8_but_it_is_iso_8859_1.txt +56 -0
- data/test/fixtures/raw_email_bad_time +62 -0
- data/test/fixtures/raw_email_double_at_in_header +14 -0
- data/test/fixtures/raw_email_only_attachment +17 -0
- data/test/fixtures/raw_email_string_in_date_field +17 -0
- data/test/fixtures/raw_email_trailing_dot +21 -0
- data/test/fixtures/raw_email_with_quoted_attachment_filename +60 -0
- data/test/fixtures/raw_email_with_wrong_splitted_multibyte_encoded_word_subject +15 -0
- data/test/fixtures/the_only_part_is_a_word_document.txt +425 -0
- data/test/fixtures/unquoted_filename_in_attachment +177 -0
- data/test/test_address.rb +114 -92
- data/test/test_attachments.rb +84 -1
- data/test/test_encode.rb +54 -0
- data/test/test_header.rb +60 -2
- data/test/test_mail.rb +22 -15
- data/test/test_mbox.rb +12 -3
- data/test/test_port.rb +13 -9
- data/test/test_quote.rb +9 -0
- data/tmail.gemspec +34 -0
- metadata +68 -167
- data/MANIFEST +0 -191
- data/log/BugTrackingLog.txt +0 -1231
- data/log/Changelog.txt +0 -534
- data/log/Fixme.txt +0 -6
- data/log/Testlog.txt +0 -2340
- data/log/Todo.txt +0 -30
- data/log/fixme.rdoc +0 -6
- data/meta/MANIFEST +0 -128
- data/meta/VERSION +0 -1
- data/meta/project.yaml +0 -30
- data/meta/unixname +0 -1
- data/sample/bench_base64.rb +0 -48
- data/sample/data/multipart +0 -23
- data/sample/data/normal +0 -29
- data/sample/data/sendtest +0 -5
- data/sample/data/simple +0 -14
- data/sample/data/test +0 -27
- data/sample/extract-attachements.rb +0 -33
- data/sample/from-check.rb +0 -26
- data/sample/multipart.rb +0 -26
- data/sample/parse-bench.rb +0 -68
- data/sample/parse-test.rb +0 -19
- data/sample/sendmail.rb +0 -94
- data/site/contributing/index.html +0 -183
- data/site/css/clean.css +0 -27
- data/site/css/layout.css +0 -31
- data/site/css/style.css +0 -60
- data/site/download/index.html +0 -61
- data/site/img/envelope.jpg +0 -0
- data/site/img/mailman.gif +0 -0
- data/site/img/stamp-sm.jpg +0 -0
- data/site/img/stamp.jpg +0 -0
- data/site/img/stampborder.jpg +0 -0
- data/site/img/tfire.jpg +0 -0
- data/site/img/tmail.png +0 -0
- data/site/index.html +0 -270
- data/site/js/jquery.js +0 -31
- data/site/log/Changelog.xsl +0 -33
- data/site/log/changelog.xml +0 -1677
- data/site/outdated/BUGS +0 -3
- data/site/outdated/DEPENDS +0 -1
- data/site/outdated/Incompatibilities +0 -89
- data/site/outdated/Incompatibilities.ja +0 -102
- data/site/outdated/NEWS +0 -9
- data/site/outdated/README.ja +0 -73
- data/site/outdated/doc.ja/address.html +0 -275
- data/site/outdated/doc.ja/basics.html +0 -405
- data/site/outdated/doc.ja/config.html +0 -49
- data/site/outdated/doc.ja/details.html +0 -146
- data/site/outdated/doc.ja/index.html +0 -39
- data/site/outdated/doc.ja/mail.html +0 -793
- data/site/outdated/doc.ja/mailbox.html +0 -265
- data/site/outdated/doc.ja/port.html +0 -95
- data/site/outdated/doc.ja/tmail.html +0 -58
- data/site/outdated/doc.ja/usage.html +0 -202
- data/site/outdated/rdd/address.rrd.m +0 -229
- data/site/outdated/rdd/basics.rd.m +0 -275
- data/site/outdated/rdd/config.rrd.m +0 -26
- data/site/outdated/rdd/details.rd.m +0 -117
- data/site/outdated/rdd/index.rhtml.m +0 -54
- data/site/outdated/rdd/mail.rrd.m +0 -701
- data/site/outdated/rdd/mailbox.rrd.m +0 -228
- data/site/outdated/rdd/port.rrd.m +0 -69
- data/site/outdated/rdd/tmail.rrd.m +0 -33
- data/site/outdated/rdd/usage.rd.m +0 -247
- data/site/quickstart/index.html +0 -69
- data/site/quickstart/quickstart.html +0 -52
- data/site/quickstart/usage.html +0 -193
- data/site/reference/address.html +0 -247
- data/site/reference/config.html +0 -30
- data/site/reference/index.html +0 -101
- data/site/reference/mail.html +0 -726
- data/site/reference/mailbox.html +0 -245
- data/site/reference/port.html +0 -75
- data/site/reference/tmail.html +0 -35
- data/work/script/make +0 -26
- data/work/script/rdoc +0 -39
- data/work/script/setup +0 -1616
- data/work/script/test +0 -30
data/test/test_encode.rb
CHANGED
@@ -65,12 +65,14 @@ class TestEncode < Test::Unit::TestCase
|
|
65
65
|
"=?iso-2022-jp?B?YRskQiQiGyhCYSBhGyRCJCIbKEJhIGEbJEIkIhsoQmEgYRskQiQiGyhCYSBh?=\r\n\t=?iso-2022-jp?B?GyRCJCIbKEJhIGEbJEIkIhsoQmE=?=" #26
|
66
66
|
]
|
67
67
|
|
68
|
+
unless RUBY_VERSION.match(/1.9/)
|
68
69
|
def test_s_encode
|
69
70
|
SRCS.each_index do |i|
|
70
71
|
assert_equal crlf(OK[i]),
|
71
72
|
TMail::Encoder.encode(NKF.nkf('-j', SRCS[i]))
|
72
73
|
end
|
73
74
|
end
|
75
|
+
end
|
74
76
|
|
75
77
|
def crlf( str )
|
76
78
|
str.gsub(/\n|\r\n|\r/) { "\r\n" }
|
@@ -82,4 +84,56 @@ class TestEncode < Test::Unit::TestCase
|
|
82
84
|
assert_nothing_raised(Exception) { mail.encoded }
|
83
85
|
end
|
84
86
|
|
87
|
+
# =?utf-8?Q? Nicolas=20Fouch=E9?= is not UTF-8, it's ISO-8859-1 !
|
88
|
+
def test_marked_as_utf_8_but_it_is_iso_8859_1
|
89
|
+
mail = load_fixture('marked_as_utf_8_but_it_is_iso_8859_1.txt')
|
90
|
+
|
91
|
+
name = mail.to_addrs.first.name
|
92
|
+
assert_equal ' Nicolas Fouché', TMail::Unquoter.unquote_and_convert_to(name, 'utf-8')
|
93
|
+
|
94
|
+
# Without the patch, TMail raises:
|
95
|
+
# Iconv::InvalidCharacter: "\351"
|
96
|
+
# method iconv in quoting.rb at line 99
|
97
|
+
# method convert_to in quoting.rb at line 99
|
98
|
+
# method unquote_quoted_printable_and_convert_to in quoting.rb at line 88
|
99
|
+
# method unquote_and_convert_to in quoting.rb at line 72
|
100
|
+
# method gsub in quoting.rb at line 63
|
101
|
+
# method unquote_and_convert_to in quoting.rb at line 63
|
102
|
+
end
|
103
|
+
|
104
|
+
# =?iso-8859-1?b?77y5772B772O772Q772J772O772HIA==?= =?iso-8859-1?b?77y377yh77yu77yn?= is not ISO-8859-1, it's UTF-8 !
|
105
|
+
def test_marked_as_iso_8859_1_but_it_is_utf_8
|
106
|
+
mail = load_fixture('marked_as_iso_8859_1_but_it_is_utf_8.txt')
|
107
|
+
|
108
|
+
name = mail.to_addrs.first.name
|
109
|
+
assert_equal 'Yanping WANG', TMail::Unquoter.unquote_and_convert_to(name, 'utf-8')
|
110
|
+
# Even GMail could not detect this one :)
|
111
|
+
|
112
|
+
# Without the patch, TMail returns: "ï¼¹ï½ï½ï½ï½ï½ï½ WANG"
|
113
|
+
end
|
114
|
+
|
115
|
+
# Be sure not to copy/paste the content of the fixture to another file, it could be automatically converted to utf-8
|
116
|
+
def test_iso_8859_1_email_without_encoding_and_message_id
|
117
|
+
mail = load_fixture('iso_8859_1_email_without_encoding_and_message_id.txt')
|
118
|
+
|
119
|
+
text = TMail::Unquoter.unquote_and_convert_to(mail.body, 'utf-8')
|
120
|
+
|
121
|
+
assert(text.include?('é'), 'Text content should include the "é" character')
|
122
|
+
|
123
|
+
# I'm not very proud of this one, chardet detects iso-8859-2, so I have to force the encoding to iso-8859-1.
|
124
|
+
assert(!text.include?('ŕ'), 'Text content should not iso-8859-2, "ŕ" should be "à"')
|
125
|
+
|
126
|
+
# Without the patch, TMail::Unquoter.unquote_and_convert_to returns:
|
127
|
+
# Il semblerait que vous n'ayez pas consult� votre messagerie depuis plus
|
128
|
+
# d'un an. Aussi, celle-ci a �t� temporairement desactiv�e.
|
129
|
+
# Aucune demande n'est necessaire pour r�activer votre messagerie : la simple
|
130
|
+
# consultation de ce message indique que la boite est � nouveau utilisable.
|
131
|
+
end
|
132
|
+
|
133
|
+
protected
|
134
|
+
|
135
|
+
def load_fixture(name)
|
136
|
+
TMail::Mail.load(File.join('test', 'fixtures', name))
|
137
|
+
end
|
138
|
+
|
85
139
|
end
|
data/test/test_header.rb
CHANGED
@@ -244,6 +244,14 @@ class MessageIdHeaderTester < Test::Unit::TestCase
|
|
244
244
|
end
|
245
245
|
end
|
246
246
|
|
247
|
+
def test_message_id_double_at
|
248
|
+
%w( Message-Id MESSAGE-ID Message-ID
|
249
|
+
Resent-Message-Id Content-Id ).each do |name|
|
250
|
+
h = TMail::HeaderField.new(name, '<20020103xg88.k0@mail@me.loveruby.net>')
|
251
|
+
assert_instance_of TMail::MessageIdHeader, h
|
252
|
+
end
|
253
|
+
end
|
254
|
+
|
247
255
|
def test_id
|
248
256
|
str = '<20020103xg88.k0@mail.loveruby.net>'
|
249
257
|
h = TMail::HeaderField.new('Message-Id', str)
|
@@ -263,6 +271,13 @@ class MessageIdHeaderTester < Test::Unit::TestCase
|
|
263
271
|
assert_not_nil h.id
|
264
272
|
assert_equal str, h.id
|
265
273
|
end
|
274
|
+
|
275
|
+
def test_double_at_in_header
|
276
|
+
fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email_double_at_in_header")
|
277
|
+
str = '<d3b8cf8e49f0448085@0c28713a1@f473e@37signals.com>'
|
278
|
+
mail = TMail::Mail.parse(fixture)
|
279
|
+
assert_equal str, mail.message_id
|
280
|
+
end
|
266
281
|
end
|
267
282
|
|
268
283
|
class ReferencesHeaderTester < Test::Unit::TestCase
|
@@ -755,8 +770,8 @@ class ContentDispositionHeaderTester < Test::Unit::TestCase
|
|
755
770
|
#_test_rfc2231_encode
|
756
771
|
_test_raw_iso2022jp
|
757
772
|
_test_raw_eucjp
|
758
|
-
_test_raw_sjis
|
759
|
-
_test_code_conversion
|
773
|
+
_test_raw_sjis unless RUBY_VERSION.match(/1.9/)
|
774
|
+
_test_code_conversion unless RUBY_VERSION.match(/1.9/)
|
760
775
|
ensure
|
761
776
|
TMail.KCODE = 'NONE'
|
762
777
|
end
|
@@ -959,5 +974,48 @@ class ContentDispositionHeaderTester < Test::Unit::TestCase
|
|
959
974
|
h = TMail::HeaderField.new_from_port(p, 'Received-Long-Header')
|
960
975
|
assert_equal(h, nil)
|
961
976
|
end
|
977
|
+
|
978
|
+
def test_multi_address_header_in_tmail
|
979
|
+
h = TMail::Mail.new
|
980
|
+
h.to = "Mikel@me.com, mikel@you.com"
|
981
|
+
assert_equal("To: Mikel@me.com,\r\n\t mikel@you.com\r\n\r\n", h.encoded)
|
982
|
+
end
|
983
|
+
|
984
|
+
def test_adding_custom_message_id
|
985
|
+
fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email")
|
986
|
+
mail = TMail::Mail.parse(fixture)
|
987
|
+
message_id = "<12345@me.com>"
|
988
|
+
mail.enforced_message_id = message_id
|
989
|
+
mail.ready_to_send
|
990
|
+
assert_equal(message_id, mail.message_id)
|
991
|
+
end
|
992
|
+
|
993
|
+
def test_not_adding_custom_message_id
|
994
|
+
fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email")
|
995
|
+
mail = TMail::Mail.parse(fixture)
|
996
|
+
message_id = mail.message_id
|
997
|
+
mail.message_id = "<12345@me.com>"
|
998
|
+
mail.ready_to_send
|
999
|
+
assert_not_equal(message_id, mail.message_id)
|
1000
|
+
end
|
1001
|
+
|
1002
|
+
def test_content_type_does_not_unquote_parameter_values
|
1003
|
+
japanese_jis_filename = "¥e$B4A;z¥e(B.jpg"
|
1004
|
+
mailsrc =<<ENDSTRING
|
1005
|
+
Content-Type: image/jpeg;
|
1006
|
+
name="#{japanese_jis_filename}"
|
1007
|
+
Content-Transfer-Encoding: Base64
|
1008
|
+
Content-Disposition: attachment
|
1009
|
+
ENDSTRING
|
1010
|
+
result =<<ENDSTRING
|
1011
|
+
Content-Type: image/jpeg; name*=iso-2022-jp'ja'%c2%a5e$B4A%3bz%c2%a5e%28B.jpg
|
1012
|
+
Content-Transfer-Encoding: Base64
|
1013
|
+
Content-Disposition: attachment
|
1014
|
+
|
1015
|
+
ENDSTRING
|
1016
|
+
|
1017
|
+
mail = TMail::Mail.parse(mailsrc)
|
1018
|
+
assert_equal(result.gsub("\n", "\r\n"), mail.encoded)
|
1019
|
+
end
|
962
1020
|
|
963
1021
|
end
|
data/test/test_mail.rb
CHANGED
@@ -416,6 +416,22 @@ EOF
|
|
416
416
|
assert_equal "VGhlIGJvZHk=", mail.quoted_body.strip
|
417
417
|
end
|
418
418
|
|
419
|
+
def test_unquote_base64_body_with_invalid_charset
|
420
|
+
msg = <<EOF
|
421
|
+
From: "2009-07-02 21:53:01" <sender@example.com>
|
422
|
+
Subject: unqoute base64 body with invalid charset
|
423
|
+
MIME-Version: 1.0
|
424
|
+
charset="gb2312"
|
425
|
+
Content-Transfer-Encoding: base64
|
426
|
+
|
427
|
+
RGVhciBTaXJzLCANCldlIGFyZSBnaXZlbiB0byB1bmRlcnN0YW5kIHRoYXQg
|
428
|
+
eW91IGFyZSAgTWFudWZhY3R1cmVyIG9mICBwbHN0aWMgIEJvdHRsZXMNCkFk
|
429
|
+
ZKO6IGJsYWggQ2hpbmE=
|
430
|
+
EOF
|
431
|
+
mail = TMail::Mail.parse(msg)
|
432
|
+
assert_equal "Dear Sirs, \r\nWe are given to understand that you are Manufacturer of plstic Bottles\r\nAdd: blah China", mail.body.strip
|
433
|
+
end
|
434
|
+
|
419
435
|
def test_message_id
|
420
436
|
assert_nil @mail.message_id
|
421
437
|
assert_equal 1, @mail.message_id(1)
|
@@ -423,6 +439,9 @@ EOF
|
|
423
439
|
m = '<very.unique.identity@fully.quorified.domain.name>'
|
424
440
|
@mail.message_id = m
|
425
441
|
assert_equal m, @mail.message_id
|
442
|
+
|
443
|
+
@mail.message_id = 'this_is_my_badly_formatted_message_id'
|
444
|
+
assert_equal nil, @mail.message_id
|
426
445
|
end
|
427
446
|
|
428
447
|
def test_in_reply_to
|
@@ -498,7 +517,7 @@ EOF
|
|
498
517
|
output = <<EOF
|
499
518
|
From: mikel@example.com
|
500
519
|
Subject: Hello
|
501
|
-
#{if RUBY_VERSION < '1.
|
520
|
+
#{if RUBY_VERSION < '1.8.7'
|
502
521
|
'Content-Type: multipart/signed; protocol="application/pkcs7-signature"; boundary=Apple-Mail-42-587703407; micalg=sha1'
|
503
522
|
else
|
504
523
|
'Content-Type: multipart/signed; micalg=sha1; boundary=Apple-Mail-42-587703407; protocol="application/pkcs7-signature"'
|
@@ -731,19 +750,7 @@ EOF
|
|
731
750
|
part = TMail::Mail.parse("Content-Type: text/plain\n\nBlah")
|
732
751
|
mail.parts << part
|
733
752
|
mail.preamble = 'This is the preamble'
|
734
|
-
|
735
|
-
str = mail.encoded
|
736
|
-
result = str.gsub(str[/boundary="(.*?)"/, 1], 'boundary')
|
737
|
-
expected =<<EOF
|
738
|
-
Content-Type: multipart/mixed; boundary="boundary"
|
739
|
-
|
740
|
-
This is the preamble
|
741
|
-
--boundary
|
742
|
-
Content-Type: text/plain
|
743
|
-
|
744
|
-
Blah
|
745
|
-
--boundary--
|
746
|
-
EOF
|
747
|
-
assert_equal(crlf(expected), result)
|
753
|
+
assert(mail.encoded =~ /\r\n\r\nThis is the preamble\r\n--mimepart/)
|
748
754
|
end
|
755
|
+
|
749
756
|
end
|
data/test/test_mbox.rb
CHANGED
@@ -9,8 +9,8 @@ class MailboxTester < Test::Unit::TestCase
|
|
9
9
|
N = 5
|
10
10
|
|
11
11
|
def setup
|
12
|
-
rm_rf
|
13
|
-
mkdir
|
12
|
+
rm_rf(MAILBOX, :verbose => false)
|
13
|
+
mkdir(MAILBOX, :verbose => false)
|
14
14
|
N.downto(1) do |i|
|
15
15
|
File.open( "#{MAILBOX}/#{i}", 'w' ) {|f|
|
16
16
|
f.puts 'From: aamine'
|
@@ -35,7 +35,7 @@ class MailboxTester < Test::Unit::TestCase
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def teardown
|
38
|
-
rm_rf
|
38
|
+
rm_rf(MAILBOX, :verbose => false)
|
39
39
|
end
|
40
40
|
|
41
41
|
def test_s_new
|
@@ -172,4 +172,13 @@ class MailboxTester < Test::Unit::TestCase
|
|
172
172
|
File.delete(filename)
|
173
173
|
end
|
174
174
|
|
175
|
+
def test_fromline2time_should_return_nil_on_out_of_range_dates
|
176
|
+
filename = "#{File.dirname(__FILE__)}/fixtures/mailbox"
|
177
|
+
FileUtils.copy(filename, "#{filename}_test")
|
178
|
+
filename = "#{filename}_test"
|
179
|
+
line = "From mikel mikel March 24 01:02:03 1900"
|
180
|
+
mailbox = TMail::UNIXMbox.new(filename, nil, false)
|
181
|
+
assert_equal(nil, mailbox.send(:fromline2time, line))
|
182
|
+
end
|
183
|
+
|
175
184
|
end
|
data/test/test_port.rb
CHANGED
@@ -7,8 +7,8 @@ class FilePortTester < Test::Unit::TestCase
|
|
7
7
|
include FileUtils
|
8
8
|
|
9
9
|
def setup
|
10
|
-
rm_rf
|
11
|
-
mkdir
|
10
|
+
rm_rf('tmp', :verbose => false)
|
11
|
+
mkdir('tmp', :verbose => false)
|
12
12
|
5.times do |n|
|
13
13
|
File.open('tmp/' + n.to_s, 'w') {|f|
|
14
14
|
f.puts "file #{n}"
|
@@ -17,7 +17,7 @@ class FilePortTester < Test::Unit::TestCase
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def teardown
|
20
|
-
rm_rf
|
20
|
+
rm_rf('tmp', :verbose => false)
|
21
21
|
end
|
22
22
|
|
23
23
|
def test_s_new
|
@@ -336,8 +336,9 @@ class MhPortTester < Test::Unit::TestCase
|
|
336
336
|
include FileUtils
|
337
337
|
|
338
338
|
def setup
|
339
|
-
rm_rf
|
340
|
-
|
339
|
+
rm_rf('tmp', :verbose => false)
|
340
|
+
|
341
|
+
mkdir('tmp', :verbose => false)
|
341
342
|
3.times do |n|
|
342
343
|
File.open( "tmp/#{n}", 'w' ) {|f|
|
343
344
|
f.puts 'From: Minero Aoki <aamine@loveruby.net>'
|
@@ -349,7 +350,8 @@ class MhPortTester < Test::Unit::TestCase
|
|
349
350
|
end
|
350
351
|
|
351
352
|
def teardown
|
352
|
-
rm_rf
|
353
|
+
rm_rf('tmp', :verbose => false)
|
354
|
+
|
353
355
|
end
|
354
356
|
|
355
357
|
def test_flags
|
@@ -387,8 +389,9 @@ class MaildirPortTester < Test::Unit::TestCase
|
|
387
389
|
include FileUtils
|
388
390
|
|
389
391
|
def setup
|
390
|
-
rm_rf
|
391
|
-
|
392
|
+
rm_rf('tmp', :verbose => false)
|
393
|
+
|
394
|
+
mkdir('tmp', :verbose => false)
|
392
395
|
3.times do |n|
|
393
396
|
File.open( "tmp/000.00#{n}.a", 'w' ) {|f|
|
394
397
|
f.puts 'From: Minero Aoki <aamine@loveruby.net>'
|
@@ -400,7 +403,8 @@ class MaildirPortTester < Test::Unit::TestCase
|
|
400
403
|
end
|
401
404
|
|
402
405
|
def teardown
|
403
|
-
rm_rf
|
406
|
+
rm_rf('tmp', :verbose => false)
|
407
|
+
|
404
408
|
end
|
405
409
|
|
406
410
|
def test_flags
|
data/test/test_quote.rb
CHANGED
@@ -33,6 +33,15 @@ class TestQuote < Test::Unit::TestCase
|
|
33
33
|
expected.force_encoding 'utf-8' if expected.respond_to? :force_encoding
|
34
34
|
assert_equal expected, b
|
35
35
|
end
|
36
|
+
|
37
|
+
# See section 8 of http://www.faqs.org/rfcs/rfc2047.html
|
38
|
+
def test_unquote_multiple_separated_by_whitespace
|
39
|
+
a ="=?utf-8?Q?hello?= =?utf-8?Q?there?="
|
40
|
+
b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8')
|
41
|
+
expected = "hellothere"
|
42
|
+
expected.force_encoding 'utf-8' if expected.respond_to? :force_encoding
|
43
|
+
assert_equal expected, b
|
44
|
+
end
|
36
45
|
|
37
46
|
def test_unqoute_in_the_middle
|
38
47
|
a ="Re: Photos =?ISO-8859-1?Q?Brosch=FCre_Rand?="
|
data/tmail.gemspec
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{tmail}
|
5
|
+
s.version = "1.2.6"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Mikel Lindsaar <raasdnil AT gmail.com>"]
|
9
|
+
s.date = %q{2010-01-06}
|
10
|
+
s.description = %q{TMail is a Ruby-based mail handler. It allows you to compose stadards compliant emails in a very Ruby-way.}
|
11
|
+
s.email = %q{raasdnil AT gmail.com}
|
12
|
+
s.extensions = ["ext/tmailscanner/tmail/extconf.rb"]
|
13
|
+
s.extra_rdoc_files = ["README", "CHANGES", "LICENSE", "NOTES", "Rakefile"]
|
14
|
+
s.files = %w(README Rakefile NOTES CHANGES LICENSE setup.rb tmail.gemspec) +
|
15
|
+
Dir.glob("lib/**/*") + Dir.glob("ext/**/*")
|
16
|
+
s.has_rdoc = true
|
17
|
+
s.homepage = %q{http://tmail.rubyforge.org}
|
18
|
+
s.rdoc_options = ["--inline-source", "--title", "TMail", "--main", "README"]
|
19
|
+
s.require_paths = ["lib", "ext/tmailscanner"]
|
20
|
+
s.rubyforge_project = %q{tmail}
|
21
|
+
s.rubygems_version = %q{1.3.1}
|
22
|
+
s.summary = %q{Ruby Mail Handler}
|
23
|
+
s.test_files = Dir.glob("test/**/*")
|
24
|
+
|
25
|
+
if s.respond_to? :specification_version then
|
26
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
27
|
+
s.specification_version = 2
|
28
|
+
|
29
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
30
|
+
else
|
31
|
+
end
|
32
|
+
else
|
33
|
+
end
|
34
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tmail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mikel Lindsaar <raasdnil AT gmail.com>
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-01-06 00:00:00 +11:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -23,22 +23,16 @@ extra_rdoc_files:
|
|
23
23
|
- README
|
24
24
|
- CHANGES
|
25
25
|
- LICENSE
|
26
|
-
- MANIFEST
|
27
26
|
- NOTES
|
28
27
|
- Rakefile
|
29
28
|
files:
|
29
|
+
- README
|
30
|
+
- Rakefile
|
31
|
+
- NOTES
|
30
32
|
- CHANGES
|
31
|
-
-
|
32
|
-
-
|
33
|
-
-
|
34
|
-
- ext/tmailscanner
|
35
|
-
- ext/tmailscanner/tmail
|
36
|
-
- ext/tmailscanner/tmail/depend
|
37
|
-
- ext/tmailscanner/tmail/extconf.rb
|
38
|
-
- ext/tmailscanner/tmail/MANIFEST
|
39
|
-
- ext/tmailscanner/tmail/tmailscanner.c
|
40
|
-
- lib
|
41
|
-
- lib/tmail
|
33
|
+
- LICENSE
|
34
|
+
- setup.rb
|
35
|
+
- tmail.gemspec
|
42
36
|
- lib/tmail/address.rb
|
43
37
|
- lib/tmail/attachments.rb
|
44
38
|
- lib/tmail/base64.rb
|
@@ -66,161 +60,54 @@ files:
|
|
66
60
|
- lib/tmail/scanner_r.rb
|
67
61
|
- lib/tmail/stringio.rb
|
68
62
|
- lib/tmail/utils.rb
|
63
|
+
- lib/tmail/vendor/rchardet-1.3/COPYING
|
64
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/big5freq.rb
|
65
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/big5prober.rb
|
66
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb
|
67
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/charsetgroupprober.rb
|
68
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/charsetprober.rb
|
69
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/codingstatemachine.rb
|
70
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/constants.rb
|
71
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/escprober.rb
|
72
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/escsm.rb
|
73
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/eucjpprober.rb
|
74
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/euckrfreq.rb
|
75
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/euckrprober.rb
|
76
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/euctwfreq.rb
|
77
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/euctwprober.rb
|
78
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/gb2312freq.rb
|
79
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/gb2312prober.rb
|
80
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/hebrewprober.rb
|
81
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/jisfreq.rb
|
82
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/jpcntx.rb
|
83
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/langbulgarianmodel.rb
|
84
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/langcyrillicmodel.rb
|
85
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/langgreekmodel.rb
|
86
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/langhebrewmodel.rb
|
87
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/langhungarianmodel.rb
|
88
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/langthaimodel.rb
|
89
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/latin1prober.rb
|
90
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb
|
91
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcsgroupprober.rb
|
92
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcssm.rb
|
93
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/sbcharsetprober.rb
|
94
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/sbcsgroupprober.rb
|
95
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/sjisprober.rb
|
96
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/universaldetector.rb
|
97
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet/utf8prober.rb
|
98
|
+
- lib/tmail/vendor/rchardet-1.3/lib/rchardet.rb
|
99
|
+
- lib/tmail/vendor/rchardet-1.3/README
|
69
100
|
- lib/tmail/version.rb
|
70
101
|
- lib/tmail.rb
|
71
|
-
-
|
72
|
-
-
|
73
|
-
-
|
74
|
-
-
|
75
|
-
-
|
76
|
-
- log/Fixme.txt
|
77
|
-
- log/Testlog.txt
|
78
|
-
- log/Todo.txt
|
79
|
-
- meta
|
80
|
-
- meta/MANIFEST
|
81
|
-
- meta/project.yaml
|
82
|
-
- meta/unixname
|
83
|
-
- meta/VERSION
|
84
|
-
- NOTES
|
85
|
-
- Rakefile
|
86
|
-
- README
|
87
|
-
- sample
|
88
|
-
- sample/bench_base64.rb
|
89
|
-
- sample/data
|
90
|
-
- sample/data/multipart
|
91
|
-
- sample/data/normal
|
92
|
-
- sample/data/sendtest
|
93
|
-
- sample/data/simple
|
94
|
-
- sample/data/test
|
95
|
-
- sample/extract-attachements.rb
|
96
|
-
- sample/from-check.rb
|
97
|
-
- sample/multipart.rb
|
98
|
-
- sample/parse-bench.rb
|
99
|
-
- sample/parse-test.rb
|
100
|
-
- sample/sendmail.rb
|
101
|
-
- setup.rb
|
102
|
-
- site
|
103
|
-
- site/contributing
|
104
|
-
- site/contributing/index.html
|
105
|
-
- site/css
|
106
|
-
- site/css/clean.css
|
107
|
-
- site/css/layout.css
|
108
|
-
- site/css/style.css
|
109
|
-
- site/download
|
110
|
-
- site/download/index.html
|
111
|
-
- site/img
|
112
|
-
- site/img/envelope.jpg
|
113
|
-
- site/img/mailman.gif
|
114
|
-
- site/img/stamp-sm.jpg
|
115
|
-
- site/img/stamp.jpg
|
116
|
-
- site/img/stampborder.jpg
|
117
|
-
- site/img/tfire.jpg
|
118
|
-
- site/img/tmail.png
|
119
|
-
- site/index.html
|
120
|
-
- site/js
|
121
|
-
- site/js/jquery.js
|
122
|
-
- site/log
|
123
|
-
- site/log/changelog.xml
|
124
|
-
- site/log/Changelog.xsl
|
125
|
-
- site/outdated
|
126
|
-
- site/outdated/BUGS
|
127
|
-
- site/outdated/DEPENDS
|
128
|
-
- site/outdated/doc.ja
|
129
|
-
- site/outdated/doc.ja/address.html
|
130
|
-
- site/outdated/doc.ja/basics.html
|
131
|
-
- site/outdated/doc.ja/config.html
|
132
|
-
- site/outdated/doc.ja/details.html
|
133
|
-
- site/outdated/doc.ja/index.html
|
134
|
-
- site/outdated/doc.ja/mail.html
|
135
|
-
- site/outdated/doc.ja/mailbox.html
|
136
|
-
- site/outdated/doc.ja/port.html
|
137
|
-
- site/outdated/doc.ja/tmail.html
|
138
|
-
- site/outdated/doc.ja/usage.html
|
139
|
-
- site/outdated/Incompatibilities
|
140
|
-
- site/outdated/Incompatibilities.ja
|
141
|
-
- site/outdated/NEWS
|
142
|
-
- site/outdated/rdd
|
143
|
-
- site/outdated/rdd/address.rrd.m
|
144
|
-
- site/outdated/rdd/basics.rd.m
|
145
|
-
- site/outdated/rdd/config.rrd.m
|
146
|
-
- site/outdated/rdd/details.rd.m
|
147
|
-
- site/outdated/rdd/index.rhtml.m
|
148
|
-
- site/outdated/rdd/mail.rrd.m
|
149
|
-
- site/outdated/rdd/mailbox.rrd.m
|
150
|
-
- site/outdated/rdd/port.rrd.m
|
151
|
-
- site/outdated/rdd/tmail.rrd.m
|
152
|
-
- site/outdated/rdd/usage.rd.m
|
153
|
-
- site/outdated/README.ja
|
154
|
-
- site/quickstart
|
155
|
-
- site/quickstart/index.html
|
156
|
-
- site/quickstart/quickstart.html
|
157
|
-
- site/quickstart/usage.html
|
158
|
-
- site/reference
|
159
|
-
- site/reference/address.html
|
160
|
-
- site/reference/config.html
|
161
|
-
- site/reference/index.html
|
162
|
-
- site/reference/mail.html
|
163
|
-
- site/reference/mailbox.html
|
164
|
-
- site/reference/port.html
|
165
|
-
- site/reference/tmail.html
|
166
|
-
- test
|
167
|
-
- test/extctrl.rb
|
168
|
-
- test/fixtures
|
169
|
-
- test/fixtures/mailbox
|
170
|
-
- test/fixtures/mailbox_without_any_from_or_sender
|
171
|
-
- test/fixtures/mailbox_without_from
|
172
|
-
- test/fixtures/mailbox_without_return_path
|
173
|
-
- test/fixtures/raw_attack_email_with_zero_length_whitespace
|
174
|
-
- test/fixtures/raw_base64_decoded_string
|
175
|
-
- test/fixtures/raw_base64_email
|
176
|
-
- test/fixtures/raw_base64_encoded_string
|
177
|
-
- test/fixtures/raw_email
|
178
|
-
- test/fixtures/raw_email10
|
179
|
-
- test/fixtures/raw_email11
|
180
|
-
- test/fixtures/raw_email12
|
181
|
-
- test/fixtures/raw_email13
|
182
|
-
- test/fixtures/raw_email2
|
183
|
-
- test/fixtures/raw_email3
|
184
|
-
- test/fixtures/raw_email4
|
185
|
-
- test/fixtures/raw_email5
|
186
|
-
- test/fixtures/raw_email6
|
187
|
-
- test/fixtures/raw_email7
|
188
|
-
- test/fixtures/raw_email8
|
189
|
-
- test/fixtures/raw_email9
|
190
|
-
- test/fixtures/raw_email_multiple_from
|
191
|
-
- test/fixtures/raw_email_quoted_with_0d0a
|
192
|
-
- test/fixtures/raw_email_reply
|
193
|
-
- test/fixtures/raw_email_simple
|
194
|
-
- test/fixtures/raw_email_with_bad_date
|
195
|
-
- test/fixtures/raw_email_with_illegal_boundary
|
196
|
-
- test/fixtures/raw_email_with_mimepart_without_content_type
|
197
|
-
- test/fixtures/raw_email_with_multipart_mixed_quoted_boundary
|
198
|
-
- test/fixtures/raw_email_with_nested_attachment
|
199
|
-
- test/fixtures/raw_email_with_partially_quoted_subject
|
200
|
-
- test/fixtures/raw_email_with_quoted_illegal_boundary
|
201
|
-
- test/kcode.rb
|
202
|
-
- test/temp_test_one.rb
|
203
|
-
- test/test_address.rb
|
204
|
-
- test/test_attachments.rb
|
205
|
-
- test/test_base64.rb
|
206
|
-
- test/test_encode.rb
|
207
|
-
- test/test_header.rb
|
208
|
-
- test/test_helper.rb
|
209
|
-
- test/test_mail.rb
|
210
|
-
- test/test_mbox.rb
|
211
|
-
- test/test_port.rb
|
212
|
-
- test/test_quote.rb
|
213
|
-
- test/test_scanner.rb
|
214
|
-
- test/test_utils.rb
|
215
|
-
- work
|
216
|
-
- work/script
|
217
|
-
- work/script/make
|
218
|
-
- work/script/rdoc
|
219
|
-
- work/script/setup
|
220
|
-
- work/script/test
|
221
|
-
- MANIFEST
|
102
|
+
- ext/Makefile
|
103
|
+
- ext/tmailscanner/tmail/depend
|
104
|
+
- ext/tmailscanner/tmail/extconf.rb
|
105
|
+
- ext/tmailscanner/tmail/MANIFEST
|
106
|
+
- ext/tmailscanner/tmail/tmailscanner.c
|
222
107
|
has_rdoc: true
|
223
108
|
homepage: http://tmail.rubyforge.org
|
109
|
+
licenses: []
|
110
|
+
|
224
111
|
post_install_message:
|
225
112
|
rdoc_options:
|
226
113
|
- --inline-source
|
@@ -246,17 +133,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
246
133
|
requirements: []
|
247
134
|
|
248
135
|
rubyforge_project: tmail
|
249
|
-
rubygems_version: 1.
|
136
|
+
rubygems_version: 1.3.5
|
250
137
|
signing_key:
|
251
138
|
specification_version: 2
|
252
139
|
summary: Ruby Mail Handler
|
253
140
|
test_files:
|
254
141
|
- test/extctrl.rb
|
255
|
-
- test/fixtures
|
142
|
+
- test/fixtures/apple_unquoted_content_type
|
143
|
+
- test/fixtures/inline_attachment.txt
|
144
|
+
- test/fixtures/iso_8859_1_email_without_encoding_and_message_id.txt
|
256
145
|
- test/fixtures/mailbox
|
146
|
+
- test/fixtures/mailbox.zip
|
257
147
|
- test/fixtures/mailbox_without_any_from_or_sender
|
258
148
|
- test/fixtures/mailbox_without_from
|
259
149
|
- test/fixtures/mailbox_without_return_path
|
150
|
+
- test/fixtures/marked_as_iso_8859_1_but_it_is_utf_8.txt
|
151
|
+
- test/fixtures/marked_as_utf_8_but_it_is_iso_8859_1.txt
|
260
152
|
- test/fixtures/raw_attack_email_with_zero_length_whitespace
|
261
153
|
- test/fixtures/raw_base64_decoded_string
|
262
154
|
- test/fixtures/raw_base64_email
|
@@ -274,17 +166,26 @@ test_files:
|
|
274
166
|
- test/fixtures/raw_email7
|
275
167
|
- test/fixtures/raw_email8
|
276
168
|
- test/fixtures/raw_email9
|
169
|
+
- test/fixtures/raw_email_bad_time
|
170
|
+
- test/fixtures/raw_email_double_at_in_header
|
277
171
|
- test/fixtures/raw_email_multiple_from
|
172
|
+
- test/fixtures/raw_email_only_attachment
|
278
173
|
- test/fixtures/raw_email_quoted_with_0d0a
|
279
174
|
- test/fixtures/raw_email_reply
|
280
175
|
- test/fixtures/raw_email_simple
|
176
|
+
- test/fixtures/raw_email_string_in_date_field
|
177
|
+
- test/fixtures/raw_email_trailing_dot
|
281
178
|
- test/fixtures/raw_email_with_bad_date
|
282
179
|
- test/fixtures/raw_email_with_illegal_boundary
|
283
180
|
- test/fixtures/raw_email_with_mimepart_without_content_type
|
284
181
|
- test/fixtures/raw_email_with_multipart_mixed_quoted_boundary
|
285
182
|
- test/fixtures/raw_email_with_nested_attachment
|
286
183
|
- test/fixtures/raw_email_with_partially_quoted_subject
|
184
|
+
- test/fixtures/raw_email_with_quoted_attachment_filename
|
287
185
|
- test/fixtures/raw_email_with_quoted_illegal_boundary
|
186
|
+
- test/fixtures/raw_email_with_wrong_splitted_multibyte_encoded_word_subject
|
187
|
+
- test/fixtures/the_only_part_is_a_word_document.txt
|
188
|
+
- test/fixtures/unquoted_filename_in_attachment
|
288
189
|
- test/kcode.rb
|
289
190
|
- test/temp_test_one.rb
|
290
191
|
- test/test_address.rb
|