mail 2.5.3 → 2.6.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/CHANGELOG.rdoc +70 -0
- data/CONTRIBUTING.md +17 -4
- data/Dependencies.txt +0 -1
- data/Gemfile +10 -21
- data/MIT-LICENSE +20 -0
- data/README.md +50 -29
- data/Rakefile +11 -20
- data/VERSION +4 -0
- data/lib/mail/attachments_list.rb +2 -2
- data/lib/mail/body.rb +5 -5
- data/lib/mail/check_delivery_params.rb +12 -22
- data/lib/mail/core_extensions/object.rb +8 -8
- data/lib/mail/core_extensions/smtp.rb +12 -13
- data/lib/mail/core_extensions/string.rb +16 -6
- data/lib/mail/elements/address.rb +43 -79
- data/lib/mail/elements/address_list.rb +19 -42
- data/lib/mail/elements/content_disposition_element.rb +3 -7
- data/lib/mail/elements/content_location_element.rb +2 -6
- data/lib/mail/elements/content_transfer_encoding_element.rb +3 -10
- data/lib/mail/elements/content_type_element.rb +4 -8
- data/lib/mail/elements/date_time_element.rb +3 -7
- data/lib/mail/elements/envelope_from_element.rb +18 -13
- data/lib/mail/elements/message_ids_element.rb +1 -6
- data/lib/mail/elements/mime_version_element.rb +3 -7
- data/lib/mail/elements/phrase_list.rb +2 -7
- data/lib/mail/elements/received_element.rb +3 -7
- data/lib/mail/encodings/quoted_printable.rb +4 -3
- data/lib/mail/encodings.rb +60 -28
- data/lib/mail/envelope.rb +0 -5
- data/lib/mail/field.rb +63 -28
- data/lib/mail/field_list.rb +18 -18
- data/lib/mail/fields/bcc_field.rb +2 -2
- data/lib/mail/fields/cc_field.rb +2 -2
- data/lib/mail/fields/comments_field.rb +1 -1
- data/lib/mail/fields/common/common_address.rb +26 -21
- data/lib/mail/fields/common/common_date.rb +0 -7
- data/lib/mail/fields/common/common_field.rb +5 -5
- data/lib/mail/fields/content_id_field.rb +1 -2
- data/lib/mail/fields/content_transfer_encoding_field.rb +2 -8
- data/lib/mail/fields/content_type_field.rb +1 -1
- data/lib/mail/fields/date_field.rb +1 -1
- data/lib/mail/fields/from_field.rb +2 -2
- data/lib/mail/fields/in_reply_to_field.rb +2 -1
- data/lib/mail/fields/message_id_field.rb +2 -3
- data/lib/mail/fields/references_field.rb +2 -1
- data/lib/mail/fields/reply_to_field.rb +2 -2
- data/lib/mail/fields/resent_bcc_field.rb +2 -2
- data/lib/mail/fields/resent_cc_field.rb +2 -2
- data/lib/mail/fields/resent_from_field.rb +2 -2
- data/lib/mail/fields/resent_sender_field.rb +3 -3
- data/lib/mail/fields/resent_to_field.rb +2 -2
- data/lib/mail/fields/sender_field.rb +8 -8
- data/lib/mail/fields/to_field.rb +2 -2
- data/lib/mail/fields/unstructured_field.rb +8 -2
- data/lib/mail/header.rb +13 -23
- data/lib/mail/mail.rb +12 -0
- data/lib/mail/matchers/has_sent_mail.rb +34 -1
- data/lib/mail/message.rb +151 -48
- data/lib/mail/multibyte/chars.rb +2 -2
- data/lib/mail/multibyte/unicode.rb +6 -4
- data/lib/mail/network/delivery_methods/exim.rb +1 -6
- data/lib/mail/network/delivery_methods/file_delivery.rb +1 -1
- data/lib/mail/network/delivery_methods/sendmail.rb +32 -10
- data/lib/mail/network/delivery_methods/smtp.rb +31 -34
- data/lib/mail/network/delivery_methods/smtp_connection.rb +6 -6
- data/lib/mail/network/delivery_methods/test_mailer.rb +2 -2
- data/lib/mail/network/retriever_methods/imap.rb +18 -13
- data/lib/mail/parsers/address_lists_parser.rb +132 -0
- data/lib/mail/parsers/content_disposition_parser.rb +67 -0
- data/lib/mail/parsers/content_location_parser.rb +35 -0
- data/lib/mail/parsers/content_transfer_encoding_parser.rb +33 -0
- data/lib/mail/parsers/content_type_parser.rb +64 -0
- data/lib/mail/parsers/date_time_parser.rb +36 -0
- data/lib/mail/parsers/envelope_from_parser.rb +45 -0
- data/lib/mail/parsers/message_ids_parser.rb +39 -0
- data/lib/mail/parsers/mime_version_parser.rb +41 -0
- data/lib/mail/parsers/phrase_lists_parser.rb +33 -0
- data/lib/mail/parsers/ragel/common.rl +184 -0
- data/lib/mail/parsers/ragel/date_time.rl +30 -0
- data/lib/mail/parsers/ragel/parser_info.rb +61 -0
- data/lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb +14864 -0
- data/lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb.rl +37 -0
- data/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb +751 -0
- data/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl +37 -0
- data/lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb +614 -0
- data/lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb.rl +37 -0
- data/lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb +447 -0
- data/lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb.rl +37 -0
- data/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb +825 -0
- data/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl +37 -0
- data/lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb +817 -0
- data/lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb.rl +37 -0
- data/lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb +2129 -0
- data/lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb.rl +37 -0
- data/lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb +1570 -0
- data/lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb.rl +37 -0
- data/lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb +440 -0
- data/lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb.rl +37 -0
- data/lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb +564 -0
- data/lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb.rl +37 -0
- data/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl +51 -0
- data/lib/mail/parsers/ragel/ruby/machines/received_machine.rb +5144 -0
- data/lib/mail/parsers/ragel/ruby/machines/received_machine.rb.rl +37 -0
- data/lib/mail/parsers/ragel/ruby/parser.rb.rl.erb +37 -0
- data/lib/mail/parsers/ragel/ruby.rb +29 -0
- data/lib/mail/parsers/ragel.rb +17 -0
- data/lib/mail/parsers/received_parser.rb +47 -0
- data/lib/mail/parsers.rb +26 -0
- data/lib/mail/part.rb +6 -2
- data/lib/mail/parts_list.rb +5 -3
- data/lib/mail/patterns.rb +4 -1
- data/lib/mail/utilities.rb +28 -18
- data/lib/mail/version.rb +1 -1
- data/lib/mail/version_specific/ruby_1_8.rb +6 -2
- data/lib/mail/version_specific/ruby_1_9.rb +61 -21
- data/lib/mail.rb +1 -2
- metadata +112 -73
- data/lib/VERSION +0 -4
- data/lib/load_parsers.rb +0 -35
- data/lib/mail/core_extensions/shell_escape.rb +0 -56
- data/lib/mail/parsers/address_lists.rb +0 -64
- data/lib/mail/parsers/address_lists.treetop +0 -19
- data/lib/mail/parsers/content_disposition.rb +0 -535
- data/lib/mail/parsers/content_disposition.treetop +0 -46
- data/lib/mail/parsers/content_location.rb +0 -139
- data/lib/mail/parsers/content_location.treetop +0 -20
- data/lib/mail/parsers/content_transfer_encoding.rb +0 -162
- data/lib/mail/parsers/content_transfer_encoding.treetop +0 -20
- data/lib/mail/parsers/content_type.rb +0 -967
- data/lib/mail/parsers/content_type.treetop +0 -68
- data/lib/mail/parsers/date_time.rb +0 -114
- data/lib/mail/parsers/date_time.treetop +0 -11
- data/lib/mail/parsers/envelope_from.rb +0 -194
- data/lib/mail/parsers/envelope_from.treetop +0 -32
- data/lib/mail/parsers/message_ids.rb +0 -45
- data/lib/mail/parsers/message_ids.treetop +0 -15
- data/lib/mail/parsers/mime_version.rb +0 -144
- data/lib/mail/parsers/mime_version.treetop +0 -19
- data/lib/mail/parsers/phrase_lists.rb +0 -45
- data/lib/mail/parsers/phrase_lists.treetop +0 -15
- data/lib/mail/parsers/received.rb +0 -71
- data/lib/mail/parsers/received.treetop +0 -11
- data/lib/mail/parsers/rfc2045.rb +0 -464
- data/lib/mail/parsers/rfc2045.treetop +0 -36
- data/lib/mail/parsers/rfc2822.rb +0 -5397
- data/lib/mail/parsers/rfc2822.treetop +0 -410
- data/lib/mail/parsers/rfc2822_obsolete.rb +0 -3768
- data/lib/mail/parsers/rfc2822_obsolete.treetop +0 -241
- data/lib/tasks/corpus.rake +0 -125
- data/lib/tasks/treetop.rake +0 -10
metadata
CHANGED
|
@@ -1,64 +1,91 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mail
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 2.6.0
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Mikel Lindsaar
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 2014-06-02 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: mime-types
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
|
-
- -
|
|
17
|
+
- - ">="
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
19
|
version: '1.16'
|
|
20
|
+
- - "<"
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '3'
|
|
22
23
|
type: :runtime
|
|
23
24
|
prerelease: false
|
|
24
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
26
|
requirements:
|
|
27
|
-
- -
|
|
27
|
+
- - ">="
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
29
|
version: '1.16'
|
|
30
|
+
- - "<"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '3'
|
|
30
33
|
- !ruby/object:Gem::Dependency
|
|
31
|
-
name:
|
|
34
|
+
name: bundler
|
|
32
35
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
36
|
requirements:
|
|
35
|
-
- -
|
|
37
|
+
- - ">="
|
|
36
38
|
- !ruby/object:Gem::Version
|
|
37
|
-
version: 1.
|
|
38
|
-
type: :
|
|
39
|
+
version: 1.0.3
|
|
40
|
+
type: :development
|
|
39
41
|
prerelease: false
|
|
40
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
43
|
requirements:
|
|
43
|
-
- -
|
|
44
|
+
- - ">="
|
|
44
45
|
- !ruby/object:Gem::Version
|
|
45
|
-
version: 1.
|
|
46
|
+
version: 1.0.3
|
|
46
47
|
- !ruby/object:Gem::Dependency
|
|
47
|
-
name:
|
|
48
|
+
name: rake
|
|
48
49
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
50
|
requirements:
|
|
51
|
-
- -
|
|
51
|
+
- - ">"
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: 0.
|
|
54
|
-
type: :
|
|
53
|
+
version: 0.8.7
|
|
54
|
+
type: :development
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - ">"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: 0.8.7
|
|
61
|
+
- !ruby/object:Gem::Dependency
|
|
62
|
+
name: rspec
|
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: 2.12.0
|
|
68
|
+
type: :development
|
|
69
|
+
prerelease: false
|
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: 2.12.0
|
|
75
|
+
- !ruby/object:Gem::Dependency
|
|
76
|
+
name: rdoc
|
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - ">="
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '0'
|
|
82
|
+
type: :development
|
|
55
83
|
prerelease: false
|
|
56
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
85
|
requirements:
|
|
59
|
-
- -
|
|
86
|
+
- - ">="
|
|
60
87
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0
|
|
88
|
+
version: '0'
|
|
62
89
|
description: A really Ruby Mail handler.
|
|
63
90
|
email: raasdnil@gmail.com
|
|
64
91
|
executables: []
|
|
@@ -69,25 +96,27 @@ extra_rdoc_files:
|
|
|
69
96
|
- CHANGELOG.rdoc
|
|
70
97
|
- TODO.rdoc
|
|
71
98
|
files:
|
|
72
|
-
- README.md
|
|
73
|
-
- CONTRIBUTING.md
|
|
74
99
|
- CHANGELOG.rdoc
|
|
100
|
+
- CONTRIBUTING.md
|
|
75
101
|
- Dependencies.txt
|
|
76
102
|
- Gemfile
|
|
103
|
+
- MIT-LICENSE
|
|
104
|
+
- README.md
|
|
77
105
|
- Rakefile
|
|
78
106
|
- TODO.rdoc
|
|
79
|
-
-
|
|
107
|
+
- VERSION
|
|
108
|
+
- lib/mail.rb
|
|
80
109
|
- lib/mail/attachments_list.rb
|
|
81
110
|
- lib/mail/body.rb
|
|
82
111
|
- lib/mail/check_delivery_params.rb
|
|
83
112
|
- lib/mail/configuration.rb
|
|
84
113
|
- lib/mail/core_extensions/nil.rb
|
|
85
114
|
- lib/mail/core_extensions/object.rb
|
|
86
|
-
- lib/mail/core_extensions/shell_escape.rb
|
|
87
115
|
- lib/mail/core_extensions/smtp.rb
|
|
116
|
+
- lib/mail/core_extensions/string.rb
|
|
88
117
|
- lib/mail/core_extensions/string/access.rb
|
|
89
118
|
- lib/mail/core_extensions/string/multibyte.rb
|
|
90
|
-
- lib/mail/
|
|
119
|
+
- lib/mail/elements.rb
|
|
91
120
|
- lib/mail/elements/address.rb
|
|
92
121
|
- lib/mail/elements/address_list.rb
|
|
93
122
|
- lib/mail/elements/content_disposition_element.rb
|
|
@@ -100,17 +129,17 @@ files:
|
|
|
100
129
|
- lib/mail/elements/mime_version_element.rb
|
|
101
130
|
- lib/mail/elements/phrase_list.rb
|
|
102
131
|
- lib/mail/elements/received_element.rb
|
|
103
|
-
- lib/mail/
|
|
132
|
+
- lib/mail/encodings.rb
|
|
104
133
|
- lib/mail/encodings/7bit.rb
|
|
105
134
|
- lib/mail/encodings/8bit.rb
|
|
106
135
|
- lib/mail/encodings/base64.rb
|
|
107
136
|
- lib/mail/encodings/binary.rb
|
|
108
137
|
- lib/mail/encodings/quoted_printable.rb
|
|
109
138
|
- lib/mail/encodings/transfer_encoding.rb
|
|
110
|
-
- lib/mail/encodings.rb
|
|
111
139
|
- lib/mail/envelope.rb
|
|
112
140
|
- lib/mail/field.rb
|
|
113
141
|
- lib/mail/field_list.rb
|
|
142
|
+
- lib/mail/fields.rb
|
|
114
143
|
- lib/mail/fields/bcc_field.rb
|
|
115
144
|
- lib/mail/fields/cc_field.rb
|
|
116
145
|
- lib/mail/fields/comments_field.rb
|
|
@@ -149,17 +178,17 @@ files:
|
|
|
149
178
|
- lib/mail/fields/subject_field.rb
|
|
150
179
|
- lib/mail/fields/to_field.rb
|
|
151
180
|
- lib/mail/fields/unstructured_field.rb
|
|
152
|
-
- lib/mail/fields.rb
|
|
153
181
|
- lib/mail/header.rb
|
|
154
182
|
- lib/mail/indifferent_hash.rb
|
|
155
183
|
- lib/mail/mail.rb
|
|
156
184
|
- lib/mail/matchers/has_sent_mail.rb
|
|
157
185
|
- lib/mail/message.rb
|
|
186
|
+
- lib/mail/multibyte.rb
|
|
158
187
|
- lib/mail/multibyte/chars.rb
|
|
159
188
|
- lib/mail/multibyte/exceptions.rb
|
|
160
189
|
- lib/mail/multibyte/unicode.rb
|
|
161
190
|
- lib/mail/multibyte/utils.rb
|
|
162
|
-
- lib/mail/
|
|
191
|
+
- lib/mail/network.rb
|
|
163
192
|
- lib/mail/network/delivery_methods/exim.rb
|
|
164
193
|
- lib/mail/network/delivery_methods/file_delivery.rb
|
|
165
194
|
- lib/mail/network/delivery_methods/sendmail.rb
|
|
@@ -170,35 +199,47 @@ files:
|
|
|
170
199
|
- lib/mail/network/retriever_methods/imap.rb
|
|
171
200
|
- lib/mail/network/retriever_methods/pop3.rb
|
|
172
201
|
- lib/mail/network/retriever_methods/test_retriever.rb
|
|
173
|
-
- lib/mail/
|
|
174
|
-
- lib/mail/parsers/
|
|
175
|
-
- lib/mail/parsers/
|
|
176
|
-
- lib/mail/parsers/
|
|
177
|
-
- lib/mail/parsers/
|
|
178
|
-
- lib/mail/parsers/
|
|
179
|
-
- lib/mail/parsers/
|
|
180
|
-
- lib/mail/parsers/
|
|
181
|
-
- lib/mail/parsers/
|
|
182
|
-
- lib/mail/parsers/
|
|
183
|
-
- lib/mail/parsers/
|
|
184
|
-
- lib/mail/parsers/
|
|
185
|
-
- lib/mail/parsers/
|
|
186
|
-
- lib/mail/parsers/
|
|
187
|
-
- lib/mail/parsers/
|
|
188
|
-
- lib/mail/parsers/
|
|
189
|
-
- lib/mail/parsers/
|
|
190
|
-
- lib/mail/parsers/
|
|
191
|
-
- lib/mail/parsers/
|
|
192
|
-
- lib/mail/parsers/
|
|
193
|
-
- lib/mail/parsers/
|
|
194
|
-
- lib/mail/parsers/
|
|
195
|
-
- lib/mail/parsers/
|
|
196
|
-
- lib/mail/parsers/
|
|
197
|
-
- lib/mail/parsers/
|
|
198
|
-
- lib/mail/parsers/
|
|
199
|
-
- lib/mail/parsers/
|
|
200
|
-
- lib/mail/parsers/
|
|
201
|
-
- lib/mail/parsers/
|
|
202
|
+
- lib/mail/parsers.rb
|
|
203
|
+
- lib/mail/parsers/address_lists_parser.rb
|
|
204
|
+
- lib/mail/parsers/content_disposition_parser.rb
|
|
205
|
+
- lib/mail/parsers/content_location_parser.rb
|
|
206
|
+
- lib/mail/parsers/content_transfer_encoding_parser.rb
|
|
207
|
+
- lib/mail/parsers/content_type_parser.rb
|
|
208
|
+
- lib/mail/parsers/date_time_parser.rb
|
|
209
|
+
- lib/mail/parsers/envelope_from_parser.rb
|
|
210
|
+
- lib/mail/parsers/message_ids_parser.rb
|
|
211
|
+
- lib/mail/parsers/mime_version_parser.rb
|
|
212
|
+
- lib/mail/parsers/phrase_lists_parser.rb
|
|
213
|
+
- lib/mail/parsers/ragel.rb
|
|
214
|
+
- lib/mail/parsers/ragel/common.rl
|
|
215
|
+
- lib/mail/parsers/ragel/date_time.rl
|
|
216
|
+
- lib/mail/parsers/ragel/parser_info.rb
|
|
217
|
+
- lib/mail/parsers/ragel/ruby.rb
|
|
218
|
+
- lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb
|
|
219
|
+
- lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb.rl
|
|
220
|
+
- lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb
|
|
221
|
+
- lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl
|
|
222
|
+
- lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb
|
|
223
|
+
- lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb.rl
|
|
224
|
+
- lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb
|
|
225
|
+
- lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb.rl
|
|
226
|
+
- lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb
|
|
227
|
+
- lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl
|
|
228
|
+
- lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb
|
|
229
|
+
- lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb.rl
|
|
230
|
+
- lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb
|
|
231
|
+
- lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb.rl
|
|
232
|
+
- lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb
|
|
233
|
+
- lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb.rl
|
|
234
|
+
- lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb
|
|
235
|
+
- lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb.rl
|
|
236
|
+
- lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb
|
|
237
|
+
- lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb.rl
|
|
238
|
+
- lib/mail/parsers/ragel/ruby/machines/rb_actions.rl
|
|
239
|
+
- lib/mail/parsers/ragel/ruby/machines/received_machine.rb
|
|
240
|
+
- lib/mail/parsers/ragel/ruby/machines/received_machine.rb.rl
|
|
241
|
+
- lib/mail/parsers/ragel/ruby/parser.rb.rl.erb
|
|
242
|
+
- lib/mail/parsers/received_parser.rb
|
|
202
243
|
- lib/mail/part.rb
|
|
203
244
|
- lib/mail/parts_list.rb
|
|
204
245
|
- lib/mail/patterns.rb
|
|
@@ -207,32 +248,30 @@ files:
|
|
|
207
248
|
- lib/mail/version.rb
|
|
208
249
|
- lib/mail/version_specific/ruby_1_8.rb
|
|
209
250
|
- lib/mail/version_specific/ruby_1_9.rb
|
|
210
|
-
- lib/mail.rb
|
|
211
|
-
- lib/tasks/corpus.rake
|
|
212
|
-
- lib/tasks/treetop.rake
|
|
213
|
-
- lib/VERSION
|
|
214
251
|
homepage: http://github.com/mikel/mail
|
|
215
|
-
licenses:
|
|
252
|
+
licenses:
|
|
253
|
+
- MIT
|
|
254
|
+
metadata: {}
|
|
216
255
|
post_install_message:
|
|
217
|
-
rdoc_options:
|
|
256
|
+
rdoc_options:
|
|
257
|
+
- "--exclude"
|
|
258
|
+
- lib/mail/values/unicode_tables.dat
|
|
218
259
|
require_paths:
|
|
219
260
|
- lib
|
|
220
261
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
221
|
-
none: false
|
|
222
262
|
requirements:
|
|
223
|
-
- -
|
|
263
|
+
- - ">="
|
|
224
264
|
- !ruby/object:Gem::Version
|
|
225
265
|
version: '0'
|
|
226
266
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
227
|
-
none: false
|
|
228
267
|
requirements:
|
|
229
|
-
- -
|
|
268
|
+
- - ">="
|
|
230
269
|
- !ruby/object:Gem::Version
|
|
231
270
|
version: '0'
|
|
232
271
|
requirements: []
|
|
233
272
|
rubyforge_project:
|
|
234
|
-
rubygems_version:
|
|
273
|
+
rubygems_version: 2.2.2
|
|
235
274
|
signing_key:
|
|
236
|
-
specification_version:
|
|
275
|
+
specification_version: 4
|
|
237
276
|
summary: Mail provides a nice Ruby DSL for making, sending and reading emails.
|
|
238
277
|
test_files: []
|
data/lib/VERSION
DELETED
data/lib/load_parsers.rb
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
# This file loads up the parsers for mail to use. It also will attempt to compile parsers
|
|
3
|
-
# if they don't exist.
|
|
4
|
-
#
|
|
5
|
-
# It also only uses the compiler if we are running the SPEC suite
|
|
6
|
-
module Mail # :doc:
|
|
7
|
-
require 'treetop/runtime'
|
|
8
|
-
|
|
9
|
-
def self.compile_parser(parser)
|
|
10
|
-
require 'treetop/compiler'
|
|
11
|
-
Treetop.load(File.join(File.dirname(__FILE__)) + "/mail/parsers/#{parser}")
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
parsers = %w[ rfc2822_obsolete rfc2822 address_lists phrase_lists
|
|
15
|
-
date_time received message_ids envelope_from rfc2045
|
|
16
|
-
mime_version content_type content_disposition
|
|
17
|
-
content_transfer_encoding content_location ]
|
|
18
|
-
|
|
19
|
-
if defined?(MAIL_SPEC_SUITE_RUNNING)
|
|
20
|
-
parsers.each do |parser|
|
|
21
|
-
compile_parser(parser)
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
else
|
|
25
|
-
parsers.each do |parser|
|
|
26
|
-
begin
|
|
27
|
-
require "mail/parsers/#{parser}"
|
|
28
|
-
rescue LoadError
|
|
29
|
-
compile_parser(parser)
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
end
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
# The following is an adaptation of ruby 1.9.2's shellwords.rb file,
|
|
4
|
-
# it is modified to include '+' in the allowed list to allow for
|
|
5
|
-
# sendmail to accept email addresses as the sender with a + in them
|
|
6
|
-
#
|
|
7
|
-
module Mail
|
|
8
|
-
module ShellEscape
|
|
9
|
-
# Escapes a string so that it can be safely used in a Bourne shell
|
|
10
|
-
# command line.
|
|
11
|
-
#
|
|
12
|
-
# Note that a resulted string should be used unquoted and is not
|
|
13
|
-
# intended for use in double quotes nor in single quotes.
|
|
14
|
-
#
|
|
15
|
-
# open("| grep #{Shellwords.escape(pattern)} file") { |pipe|
|
|
16
|
-
# # ...
|
|
17
|
-
# }
|
|
18
|
-
#
|
|
19
|
-
# +String#shellescape+ is a shorthand for this function.
|
|
20
|
-
#
|
|
21
|
-
# open("| grep #{pattern.shellescape} file") { |pipe|
|
|
22
|
-
# # ...
|
|
23
|
-
# }
|
|
24
|
-
#
|
|
25
|
-
def escape_for_shell(str)
|
|
26
|
-
# An empty argument will be skipped, so return empty quotes.
|
|
27
|
-
return "''" if str.empty?
|
|
28
|
-
|
|
29
|
-
str = str.dup
|
|
30
|
-
|
|
31
|
-
# Process as a single byte sequence because not all shell
|
|
32
|
-
# implementations are multibyte aware.
|
|
33
|
-
str.gsub!(/([^A-Za-z0-9_\s\+\-.,:\/@])/n, "\\\\\\1")
|
|
34
|
-
|
|
35
|
-
# A LF cannot be escaped with a backslash because a backslash + LF
|
|
36
|
-
# combo is regarded as line continuation and simply ignored.
|
|
37
|
-
str.gsub!(/\n/, "'\n'")
|
|
38
|
-
|
|
39
|
-
return str
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
module_function :escape_for_shell
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
class String
|
|
47
|
-
# call-seq:
|
|
48
|
-
# str.shellescape => string
|
|
49
|
-
#
|
|
50
|
-
# Escapes +str+ so that it can be safely used in a Bourne shell
|
|
51
|
-
# command line. See +Shellwords::shellescape+ for details.
|
|
52
|
-
#
|
|
53
|
-
def escape_for_shell
|
|
54
|
-
Mail::ShellEscape.escape_for_shell(self)
|
|
55
|
-
end
|
|
56
|
-
end
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# Autogenerated from a Treetop grammar. Edits may be lost.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
module Mail
|
|
5
|
-
module AddressLists
|
|
6
|
-
include Treetop::Runtime
|
|
7
|
-
|
|
8
|
-
def root
|
|
9
|
-
@root ||= :primary_address
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
include RFC2822
|
|
13
|
-
|
|
14
|
-
module PrimaryAddress0
|
|
15
|
-
def addresses
|
|
16
|
-
([first_addr] + other_addr.elements.map { |o| o.addr_value }).reject { |e| e.empty? }
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
module PrimaryAddress1
|
|
21
|
-
def addresses
|
|
22
|
-
[first_addr] + other_addr.elements.map { |o| o.addr_value }
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def _nt_primary_address
|
|
27
|
-
start_index = index
|
|
28
|
-
if node_cache[:primary_address].has_key?(index)
|
|
29
|
-
cached = node_cache[:primary_address][index]
|
|
30
|
-
if cached
|
|
31
|
-
cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
|
|
32
|
-
@index = cached.interval.end
|
|
33
|
-
end
|
|
34
|
-
return cached
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
i0 = index
|
|
38
|
-
r1 = _nt_address_list
|
|
39
|
-
r1.extend(PrimaryAddress0)
|
|
40
|
-
if r1
|
|
41
|
-
r0 = r1
|
|
42
|
-
else
|
|
43
|
-
r2 = _nt_obs_addr_list
|
|
44
|
-
r2.extend(PrimaryAddress1)
|
|
45
|
-
if r2
|
|
46
|
-
r0 = r2
|
|
47
|
-
else
|
|
48
|
-
@index = i0
|
|
49
|
-
r0 = nil
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
node_cache[:primary_address][start_index] = r0
|
|
54
|
-
|
|
55
|
-
r0
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
class AddressListsParser < Treetop::Runtime::CompiledParser
|
|
61
|
-
include AddressLists
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
module Mail
|
|
2
|
-
grammar AddressLists
|
|
3
|
-
|
|
4
|
-
include RFC2822
|
|
5
|
-
|
|
6
|
-
rule primary_address
|
|
7
|
-
address_list {
|
|
8
|
-
def addresses
|
|
9
|
-
([first_addr] + other_addr.elements.map { |o| o.addr_value }).reject { |e| e.empty? }
|
|
10
|
-
end
|
|
11
|
-
} / obs_addr_list {
|
|
12
|
-
def addresses
|
|
13
|
-
[first_addr] + other_addr.elements.map { |o| o.addr_value }
|
|
14
|
-
end
|
|
15
|
-
}
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
end
|
|
19
|
-
end
|