rmail 1.0.0 → 1.1.0
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.
- checksums.yaml +7 -0
- data/{NEWS → ChangeLog} +14 -0
- data/Rakefile +52 -67
- data/lib/rmail/address.rb +16 -4
- data/lib/rmail/header.rb +2 -2
- data/lib/rmail/parser.rb +4 -2
- data/lib/rmail/version.rb +3 -0
- data/test/testaddress.rb +20 -8
- data/test/testbase.rb +1 -1
- data/test/testheader.rb +6 -1
- data/test/testmessage.rb +1 -1
- metadata +62 -74
- data/install.rb +0 -1023
- data/version +0 -1
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6b4a29f4260f329ca644299cc81203d2db1f7785
|
4
|
+
data.tar.gz: caa1c6f095e88be1d91c9c694b0a0debde71edb8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 432fb864d8aad5282d9e987870fa0996cf2e6d2f4e96c7a5cf865bc048900dcb0d77439c55c00e77694caaa64943ad486dcdf7fba97b6c2406e20f05de5b9360
|
7
|
+
data.tar.gz: 79f14439893e809897523cfa6cf7b39519b72ad67b0a885041d49ca3b4e7bc6d7f87b7bac84c72835d948cf956f01b590dbb6a0ba4f21ca15ae3ca570dc81cd3
|
data/{NEWS → ChangeLog}
RENAMED
@@ -1,3 +1,17 @@
|
|
1
|
+
= Changes in RubyMail 1.1.0 (released 2015-02-10)
|
2
|
+
|
3
|
+
- This version contains fixes for running on Ruby 2.0+ that were contributed by
|
4
|
+
Josef Stribny, plus 7 patches that have accumulated in the Debian package of
|
5
|
+
rmail over the years by Adeodato Simó, Per Andersson, and Antonio Terceiro.
|
6
|
+
There are also a few fixes by the original author Matt Armstrong that never
|
7
|
+
made it into a release.
|
8
|
+
- This version is mostly compatible with 1.0.0, but since it wasn't explicitly
|
9
|
+
tested on older RUby releases we bumping the minor version as a warning to
|
10
|
+
users.
|
11
|
+
- Rakefile was updated to actually run on modern Ruby versions
|
12
|
+
- The tests were fixed for Ruby 2.0+ compatibility
|
13
|
+
- The version number was moved to lib/rmail/version.rb
|
14
|
+
|
1
15
|
= Changes in RubyMail 1.0.0 (released 2008-01-05)
|
2
16
|
|
3
17
|
- This version differs *only* in the changes required for Ruby 1.9
|
data/Rakefile
CHANGED
@@ -4,12 +4,8 @@
|
|
4
4
|
# This is a Ruby file, used by the "rake" make-like program.
|
5
5
|
#
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
require 'rubygems'
|
10
|
-
require 'rake/gempackagetask'
|
11
|
-
end
|
12
|
-
require 'rake/rdoctask'
|
7
|
+
require 'rubygems/package_task'
|
8
|
+
require 'rdoc/task'
|
13
9
|
require 'rake/testtask'
|
14
10
|
require 'shellwords'
|
15
11
|
|
@@ -23,7 +19,7 @@ task :default => :test
|
|
23
19
|
# Test tasks
|
24
20
|
#
|
25
21
|
Rake::TestTask.new do |t|
|
26
|
-
t.libs << '
|
22
|
+
t.libs << '.'
|
27
23
|
t.pattern = 'test/test*.rb'
|
28
24
|
t.verbose = true
|
29
25
|
end
|
@@ -38,7 +34,7 @@ def can_release_package
|
|
38
34
|
reasons = []
|
39
35
|
|
40
36
|
unless news_is_current
|
41
|
-
reasons << 'the
|
37
|
+
reasons << 'the ChangeLog file is not current'
|
42
38
|
end
|
43
39
|
|
44
40
|
unless defined?(Gem)
|
@@ -67,11 +63,11 @@ def can_release_package
|
|
67
63
|
can_release_package
|
68
64
|
end
|
69
65
|
|
70
|
-
# Is
|
66
|
+
# Is ChangeLog current?
|
71
67
|
def news_is_current
|
72
68
|
today = Time.now.strftime('%Y-%m-%d')
|
73
69
|
version = Regexp.new(Regexp.quote(PKG_VERSION))
|
74
|
-
if IO.readlines('
|
70
|
+
if IO.readlines('ChangeLog').first =~
|
75
71
|
/= Changes in RubyMail #{PKG_VERSION} \(released #{today}\)$/
|
76
72
|
true
|
77
73
|
else
|
@@ -83,34 +79,25 @@ end
|
|
83
79
|
#
|
84
80
|
# These PKG_ variables are used by Rake's package rule.
|
85
81
|
#
|
86
|
-
|
87
|
-
|
88
|
-
if version =~ /^\d+\.\d+\.\d+$/
|
89
|
-
version.untaint
|
90
|
-
else
|
91
|
-
fail "package version is bogus"
|
92
|
-
end
|
93
|
-
version
|
94
|
-
end
|
82
|
+
require './lib/rmail/version.rb'
|
83
|
+
PKG_VERSION = RMail::VERSION
|
95
84
|
|
96
85
|
PKG_FILES = FileList.new('test/**/*',
|
97
86
|
'guide/**/*',
|
98
87
|
'lib/**/*',
|
99
|
-
'
|
100
|
-
'NEWS',
|
88
|
+
'ChangeLog',
|
101
89
|
'NOTES',
|
102
90
|
'README',
|
103
91
|
'THANKS',
|
104
92
|
'TODO',
|
105
|
-
'Rakefile'
|
106
|
-
'version')
|
93
|
+
'Rakefile')
|
107
94
|
|
108
95
|
#
|
109
96
|
# Teach Rake how to build the RDoc documentation for this package.
|
110
97
|
#
|
111
98
|
rdoc = Rake::RDocTask.new do |rdoc|
|
112
99
|
rdoc.main = 'README'
|
113
|
-
rdoc.rdoc_files.include("README", "
|
100
|
+
rdoc.rdoc_files.include("README", "ChangeLog", "THANKS",
|
114
101
|
"TODO", "guide/*.txt", "lib/**/*.rb")
|
115
102
|
rdoc.rdoc_files.exclude(/\bSCCS\b/,
|
116
103
|
"lib/rubymail/parser/*")
|
@@ -136,51 +123,49 @@ end
|
|
136
123
|
#
|
137
124
|
# Create a Gem::Specification right in the Rakefile, using some of the
|
138
125
|
# variables we have set up above.
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
s.homepage = "http://www.rfc20.org/rubymail"
|
169
|
-
|
170
|
-
s.rubyforge_project = "rubymail"
|
171
|
-
end
|
126
|
+
spec = Gem::Specification.new do |s|
|
127
|
+
s.name = 'rmail'
|
128
|
+
s.version = PKG_VERSION + if can_release_package
|
129
|
+
''
|
130
|
+
else
|
131
|
+
'.666'
|
132
|
+
end
|
133
|
+
s.summary = 'A MIME mail parsing and generation library.'
|
134
|
+
s.description = <<-EOF
|
135
|
+
RMail is a lightweight mail library containing various utility classes and
|
136
|
+
modules that allow ruby scripts to parse, modify, and generate MIME mail
|
137
|
+
messages.
|
138
|
+
EOF
|
139
|
+
|
140
|
+
s.files = PKG_FILES.to_a
|
141
|
+
|
142
|
+
s.required_ruby_version = Gem::Version::Requirement.new(">= 1.8.1")
|
143
|
+
|
144
|
+
s.has_rdoc = true
|
145
|
+
s.extra_rdoc_files = rdoc.rdoc_files.reject { |fn| fn =~ /\.rb$/ }.to_a
|
146
|
+
s.rdoc_options.concat([ '--title', rdoc.title, '--main', rdoc.main,
|
147
|
+
rdoc.options ].flatten)
|
148
|
+
|
149
|
+
s.test_files = FileList['test/tc_*.rb'].to_a
|
150
|
+
|
151
|
+
s.author = ["Matt Armstrong", "Antonio Terceiro"]
|
152
|
+
s.email = "terceiro@softwarelivre.org"
|
153
|
+
s.homepage = "https://github.com/terceiro/rmail"
|
154
|
+
end
|
172
155
|
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
end
|
156
|
+
#
|
157
|
+
# Use our Gem::Specification to make some package tasks.
|
158
|
+
#
|
159
|
+
Gem::PackageTask.new(spec) do |pkg|
|
160
|
+
pkg.need_zip = true
|
161
|
+
pkg.need_tar = true
|
180
162
|
end
|
181
163
|
|
182
|
-
desc
|
183
|
-
task :
|
184
|
-
|
164
|
+
desc 'Makes a release'
|
165
|
+
task :release => [:test, :package] do
|
166
|
+
sh 'git', 'tag', '-s', "v#{PKG_VERSION}"
|
167
|
+
sh 'git', 'push'
|
168
|
+
sh 'git', 'push', '--tags'
|
169
|
+
sh 'gem' 'push', 'pkg/#{rmail}-#{PKG_VERSION}.gem'
|
185
170
|
end
|
186
171
|
|
data/lib/rmail/address.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (C) 2001, 2002, 2003 Matt Armstrong. All rights
|
2
|
+
# Copyright (C) 2001, 2002, 2003, 2008 Matt Armstrong. All rights
|
3
3
|
# reserved.
|
4
4
|
#
|
5
5
|
# Redistribution and use in source and binary forms, with or without
|
@@ -50,7 +50,6 @@ module RMail
|
|
50
50
|
# is parsed for mail addresses and if one is found, it is used to
|
51
51
|
# initialize this object.
|
52
52
|
def initialize(string = nil)
|
53
|
-
|
54
53
|
@local = @domain = @comments = @display_name = nil
|
55
54
|
|
56
55
|
if string.kind_of?(String)
|
@@ -421,7 +420,6 @@ module RMail
|
|
421
420
|
# local-part ':' -> it is a display-name of a group
|
422
421
|
# display-name '<' -> it is a mailbox display name
|
423
422
|
# display-name ':' -> it is a group display name
|
424
|
-
#
|
425
423
|
|
426
424
|
# set lookahead to '@' '<' or ':' (or another value for
|
427
425
|
# invalid input)
|
@@ -472,6 +470,20 @@ module RMail
|
|
472
470
|
@addresses.last.local = get_text
|
473
471
|
expect(SYM_AT_SIGN)
|
474
472
|
domain
|
473
|
+
|
474
|
+
if @sym == SYM_LESS_THAN
|
475
|
+
# Workaround for invalid input. Treat 'foo@bar <foo@bar>' as if it
|
476
|
+
# were '"foo@bar" <foo@bar>'. The domain parser will eat
|
477
|
+
# 'bar' but stop at '<'. At this point, we've been
|
478
|
+
# parsing the display name as if it were an address, so we
|
479
|
+
# throw the address into display_name and parse an
|
480
|
+
# angle_addr.
|
481
|
+
@addresses.last.display_name =
|
482
|
+
format("%s@%s", @addresses.last.local, @addresses.last.domain)
|
483
|
+
@addresses.last.local = nil
|
484
|
+
@addresses.last.domain = nil
|
485
|
+
angle_addr
|
486
|
+
end
|
475
487
|
end
|
476
488
|
end
|
477
489
|
|
@@ -691,7 +703,7 @@ module RMail
|
|
691
703
|
@sym = SYM_DOMAIN_LITERAL
|
692
704
|
@lexeme = $1.gsub(/(^|[^\\])[\r\n\t ]+/, '\1').gsub(/\\(.)/, '\1')
|
693
705
|
break
|
694
|
-
when /\A[\200-\377\w!$%&\'*+\/=?^_\`{\}|~#-]+/
|
706
|
+
when /\A[\200-\377\w!$%&\'*+\/=?^_\`{\}|~#-]+/nm
|
695
707
|
# This is just like SYM_ATOM, but includes all characters
|
696
708
|
# with high bits. This is so we can allow such tokens in
|
697
709
|
# the display name portion of an address even though it
|
data/lib/rmail/header.rb
CHANGED
@@ -73,7 +73,7 @@ module RMail
|
|
73
73
|
|
74
74
|
class Field # :nodoc:
|
75
75
|
# fixme, document methadology for this (RFC2822)
|
76
|
-
EXTRACT_FIELD_NAME_RE = /\A([^\x00-\x1f\x7f-\xff :]+):\s*/
|
76
|
+
EXTRACT_FIELD_NAME_RE = /\A([^\x00-\x1f\x7f-\xff :]+):\s*/no
|
77
77
|
|
78
78
|
class << self
|
79
79
|
def parse(field)
|
@@ -630,7 +630,7 @@ module RMail
|
|
630
630
|
# Set the boundary parameter of this message's Content-Type:
|
631
631
|
# field.
|
632
632
|
def set_boundary(boundary)
|
633
|
-
params =
|
633
|
+
params = params('content-type')
|
634
634
|
params ||= {}
|
635
635
|
params['boundary'] = boundary
|
636
636
|
content_type = content_type()
|
data/lib/rmail/parser.rb
CHANGED
@@ -213,15 +213,17 @@ module RMail
|
|
213
213
|
# headers. The body part starts directly after this
|
214
214
|
# newline.
|
215
215
|
rest = data[1..-1]
|
216
|
+
elsif data[0] == ?\r && data[1] == ?\n
|
217
|
+
rest = data[2..-1]
|
216
218
|
else
|
217
|
-
header, rest = data.split(/\n\n/, 2)
|
219
|
+
header, rest = data.split(/\r?\n\r?\n/, 2)
|
218
220
|
end
|
219
221
|
break if rest
|
220
222
|
end
|
221
223
|
input.pushback(rest)
|
222
224
|
if header
|
223
225
|
mime = false
|
224
|
-
fields = header.split(/\n(?!\s)/)
|
226
|
+
fields = header.split(/\r?\n(?!\s)/)
|
225
227
|
if fields.first =~ /^From /
|
226
228
|
@handler.mbox_from(fields.first)
|
227
229
|
fields.shift
|
data/test/testaddress.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
#--
|
3
|
-
# Copyright (C) 2001, 2002, 2003, 2007 Matt Armstrong. All rights reserved.
|
3
|
+
# Copyright (C) 2001, 2002, 2003, 2007, 2008 Matt Armstrong. All rights reserved.
|
4
4
|
#
|
5
5
|
# Redistribution and use in source and binary forms, with or without
|
6
6
|
# modification, are permitted provided that the following conditions are met:
|
@@ -419,7 +419,7 @@ class TestRMailAddress < TestBase
|
|
419
419
|
:format => '"Jason @ Tibbitts" <tibbs@uh.edu>' } ] ]
|
420
420
|
|
421
421
|
# Majordomo II parses all of these with an error. We have deleted
|
422
|
-
# some of the tests
|
422
|
+
# some of the tests when they are actually legal.
|
423
423
|
validate_case ['tibbs@uh.edu Jason Tibbitts', [] ]
|
424
424
|
validate_case ['@uh.edu', [] ] # Can't start with @
|
425
425
|
validate_case ['J <tibbs>', [] ] # Not FQDN
|
@@ -644,7 +644,6 @@ class TestRMailAddress < TestBase
|
|
644
644
|
end
|
645
645
|
|
646
646
|
def test_rfc_822
|
647
|
-
|
648
647
|
validate_case\
|
649
648
|
['":sysmail"@ Some-Group. Some-Org, Muhammed.(I am the greatest) Ali @(the)Vegas.WBA',
|
650
649
|
[ { :name => nil,
|
@@ -664,7 +663,6 @@ class TestRMailAddress < TestBase
|
|
664
663
|
end
|
665
664
|
|
666
665
|
def test_misc_addresses()
|
667
|
-
|
668
666
|
# Make sure that parsing empty stuff works
|
669
667
|
assert_equal([], RMail::Address.parse(nil))
|
670
668
|
assert_equal([], RMail::Address.parse(""))
|
@@ -794,17 +792,31 @@ class TestRMailAddress < TestBase
|
|
794
792
|
} ] ]
|
795
793
|
end
|
796
794
|
|
795
|
+
def test_bug_23043
|
796
|
+
# http://rubyforge.org/tracker/?func=detail&atid=1754&aid=23043&group_id=446
|
797
|
+
validate_case\
|
798
|
+
['=?iso-8859-1?Q?acme@example.com?= <acme@example.com>',
|
799
|
+
[ { :name => '=?iso-8859-1?Q?acme@example.com?=',
|
800
|
+
:display_name => '=?iso-8859-1?Q?acme@example.com?=',
|
801
|
+
:address => 'acme@example.com',
|
802
|
+
:comments => nil,
|
803
|
+
:domain => 'example.com',
|
804
|
+
:local => 'acme',
|
805
|
+
:format => '"=?iso-8859-1?Q?acme@example.com?=" <acme@example.com>',
|
806
|
+
} ] ]
|
807
|
+
end
|
808
|
+
|
797
809
|
def test_invalid_addresses()
|
798
810
|
# The display name isn't encoded -- bad, but we parse it.
|
799
811
|
validate_case\
|
800
|
-
["\322\315\322 \312\353\363\341 <bar@foo.invalid>",
|
801
|
-
[ { :name => "\322\315\322 \312\353\363\341",
|
802
|
-
:display_name => "\322\315\322 \312\353\363\341",
|
812
|
+
["\322\315\322 \312\353\363\341 <bar@foo.invalid>".force_encoding('ASCII-8BIT'),
|
813
|
+
[ { :name => "\322\315\322 \312\353\363\341".force_encoding("ASCII-8BIT"),
|
814
|
+
:display_name => "\322\315\322 \312\353\363\341".force_encoding("ASCII-8BIT"),
|
803
815
|
:address => 'bar@foo.invalid',
|
804
816
|
:comments => nil,
|
805
817
|
:domain => 'foo.invalid',
|
806
818
|
:local => 'bar',
|
807
|
-
:format => "\"\322\315\322 \312\353\363\341\" <bar@foo.invalid>",
|
819
|
+
:format => "\"\322\315\322 \312\353\363\341\" <bar@foo.invalid>".force_encoding("ASCII-8BIT"),
|
808
820
|
} ] ]
|
809
821
|
end
|
810
822
|
|
data/test/testbase.rb
CHANGED
data/test/testheader.rb
CHANGED
@@ -209,7 +209,12 @@ class TestRMailHeader < TestBase
|
|
209
209
|
# Test the params argument
|
210
210
|
h = RMail::Header.new
|
211
211
|
h.add("name", "value", nil, 'param1' => 'value1', 'param2' => '+value2')
|
212
|
-
|
212
|
+
# Param order can not be guaranteed since they are given as dict to the
|
213
|
+
# function.
|
214
|
+
#assert_equal('value; param1=value1; param2="+value2"', h['name'])
|
215
|
+
header_check = (h['name'] == 'value; param1=value1; param2="+value2"' or
|
216
|
+
h['name'] == 'value; param2="+value2"; param1=value1')
|
217
|
+
assert(header_check)
|
213
218
|
|
214
219
|
h = RMail::Header.new
|
215
220
|
h.add_raw("MIME-Version: 1.0")
|
data/test/testmessage.rb
CHANGED
metadata
CHANGED
@@ -1,38 +1,56 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rmail
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Matt Armstrong
|
8
|
+
- Antonio Terceiro
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
|
12
|
-
date: 2008-01-05 00:00:00 -08:00
|
13
|
-
default_executable:
|
12
|
+
date: 2015-02-11 00:00:00.000000000 Z
|
14
13
|
dependencies: []
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
description: |2
|
15
|
+
RMail is a lightweight mail library containing various utility classes and
|
16
|
+
modules that allow ruby scripts to parse, modify, and generate MIME mail
|
17
|
+
messages.
|
18
|
+
email: terceiro@softwarelivre.org
|
18
19
|
executables: []
|
19
|
-
|
20
20
|
extensions: []
|
21
|
-
|
22
|
-
extra_rdoc_files:
|
21
|
+
extra_rdoc_files:
|
23
22
|
- README
|
24
|
-
-
|
23
|
+
- ChangeLog
|
25
24
|
- THANKS
|
26
25
|
- TODO
|
27
26
|
- guide/Intro.txt
|
28
27
|
- guide/MIME.txt
|
29
28
|
- guide/TableOfContents.txt
|
30
|
-
files:
|
29
|
+
files:
|
30
|
+
- ChangeLog
|
31
|
+
- NOTES
|
32
|
+
- README
|
33
|
+
- Rakefile
|
34
|
+
- THANKS
|
35
|
+
- TODO
|
36
|
+
- guide/Intro.txt
|
37
|
+
- guide/MIME.txt
|
38
|
+
- guide/TableOfContents.txt
|
39
|
+
- lib/rmail.rb
|
40
|
+
- lib/rmail/address.rb
|
41
|
+
- lib/rmail/header.rb
|
42
|
+
- lib/rmail/mailbox.rb
|
43
|
+
- lib/rmail/mailbox/mboxreader.rb
|
44
|
+
- lib/rmail/message.rb
|
45
|
+
- lib/rmail/parser.rb
|
46
|
+
- lib/rmail/parser/multipart.rb
|
47
|
+
- lib/rmail/parser/pushbackreader.rb
|
48
|
+
- lib/rmail/serialize.rb
|
49
|
+
- lib/rmail/utils.rb
|
50
|
+
- lib/rmail/version.rb
|
31
51
|
- test/addrgrammar.txt
|
32
|
-
- test/data
|
33
52
|
- test/data/mbox.odd
|
34
53
|
- test/data/mbox.simple
|
35
|
-
- test/data/multipart
|
36
54
|
- test/data/multipart/data.1
|
37
55
|
- test/data/multipart/data.10
|
38
56
|
- test/data/multipart/data.11
|
@@ -50,7 +68,14 @@ files:
|
|
50
68
|
- test/data/multipart/data.7
|
51
69
|
- test/data/multipart/data.8
|
52
70
|
- test/data/multipart/data.9
|
53
|
-
- test/data/parser
|
71
|
+
- test/data/parser.badmime1
|
72
|
+
- test/data/parser.badmime2
|
73
|
+
- test/data/parser.nested-multipart
|
74
|
+
- test/data/parser.nested-simple
|
75
|
+
- test/data/parser.nested-simple2
|
76
|
+
- test/data/parser.nested-simple3
|
77
|
+
- test/data/parser.rfc822
|
78
|
+
- test/data/parser.simple-mime
|
54
79
|
- test/data/parser/multipart.1
|
55
80
|
- test/data/parser/multipart.10
|
56
81
|
- test/data/parser/multipart.11
|
@@ -67,15 +92,6 @@ files:
|
|
67
92
|
- test/data/parser/multipart.7
|
68
93
|
- test/data/parser/multipart.8
|
69
94
|
- test/data/parser/multipart.9
|
70
|
-
- test/data/parser.badmime1
|
71
|
-
- test/data/parser.badmime2
|
72
|
-
- test/data/parser.nested-multipart
|
73
|
-
- test/data/parser.nested-simple
|
74
|
-
- test/data/parser.nested-simple2
|
75
|
-
- test/data/parser.nested-simple3
|
76
|
-
- test/data/parser.rfc822
|
77
|
-
- test/data/parser.simple-mime
|
78
|
-
- test/data/transparency
|
79
95
|
- test/data/transparency/absolute.1
|
80
96
|
- test/data/transparency/absolute.2
|
81
97
|
- test/data/transparency/absolute.3
|
@@ -101,61 +117,33 @@ files:
|
|
101
117
|
- test/testserialize.rb
|
102
118
|
- test/testtestbase.rb
|
103
119
|
- test/testtranspparency.rb
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
- lib/rmail
|
108
|
-
- lib/rmail/address.rb
|
109
|
-
- lib/rmail/header.rb
|
110
|
-
- lib/rmail/mailbox
|
111
|
-
- lib/rmail/mailbox/mboxreader.rb
|
112
|
-
- lib/rmail/mailbox.rb
|
113
|
-
- lib/rmail/message.rb
|
114
|
-
- lib/rmail/parser
|
115
|
-
- lib/rmail/parser/multipart.rb
|
116
|
-
- lib/rmail/parser/pushbackreader.rb
|
117
|
-
- lib/rmail/parser.rb
|
118
|
-
- lib/rmail/serialize.rb
|
119
|
-
- lib/rmail/utils.rb
|
120
|
-
- lib/rmail.rb
|
121
|
-
- install.rb
|
122
|
-
- NEWS
|
123
|
-
- NOTES
|
124
|
-
- README
|
125
|
-
- THANKS
|
126
|
-
- TODO
|
127
|
-
- Rakefile
|
128
|
-
- version
|
129
|
-
has_rdoc: true
|
130
|
-
homepage: http://www.rfc20.org/rubymail
|
120
|
+
homepage: https://github.com/terceiro/rmail
|
121
|
+
licenses: []
|
122
|
+
metadata: {}
|
131
123
|
post_install_message:
|
132
|
-
rdoc_options:
|
133
|
-
- --title
|
134
|
-
- RubyMail Documentation (version 1.
|
135
|
-
- --main
|
124
|
+
rdoc_options:
|
125
|
+
- "--title"
|
126
|
+
- RubyMail Documentation (version 1.1.0)
|
127
|
+
- "--main"
|
136
128
|
- README
|
137
|
-
- --exclude
|
129
|
+
- "--exclude"
|
138
130
|
- SCCS
|
139
|
-
require_paths:
|
131
|
+
require_paths:
|
140
132
|
- lib
|
141
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
133
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
143
135
|
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
136
|
+
- !ruby/object:Gem::Version
|
145
137
|
version: 1.8.1
|
146
|
-
|
147
|
-
|
148
|
-
requirements:
|
138
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
|
+
requirements:
|
149
140
|
- - ">="
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version:
|
152
|
-
version:
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
153
143
|
requirements: []
|
154
|
-
|
155
|
-
|
156
|
-
rubygems_version: 1.0.1
|
144
|
+
rubyforge_project:
|
145
|
+
rubygems_version: 2.2.2
|
157
146
|
signing_key:
|
158
|
-
specification_version:
|
147
|
+
specification_version: 4
|
159
148
|
summary: A MIME mail parsing and generation library.
|
160
149
|
test_files: []
|
161
|
-
|