mail 2.5.2 → 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.
Files changed (151) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.rdoc +78 -0
  3. data/CONTRIBUTING.md +17 -4
  4. data/Dependencies.txt +0 -1
  5. data/Gemfile +10 -21
  6. data/MIT-LICENSE +20 -0
  7. data/README.md +50 -29
  8. data/Rakefile +11 -22
  9. data/VERSION +4 -0
  10. data/lib/mail/attachments_list.rb +2 -2
  11. data/lib/mail/body.rb +5 -5
  12. data/lib/mail/check_delivery_params.rb +12 -22
  13. data/lib/mail/core_extensions/object.rb +8 -8
  14. data/lib/mail/core_extensions/smtp.rb +12 -13
  15. data/lib/mail/core_extensions/string.rb +16 -6
  16. data/lib/mail/elements/address.rb +43 -79
  17. data/lib/mail/elements/address_list.rb +19 -42
  18. data/lib/mail/elements/content_disposition_element.rb +3 -7
  19. data/lib/mail/elements/content_location_element.rb +2 -6
  20. data/lib/mail/elements/content_transfer_encoding_element.rb +3 -10
  21. data/lib/mail/elements/content_type_element.rb +4 -8
  22. data/lib/mail/elements/date_time_element.rb +3 -7
  23. data/lib/mail/elements/envelope_from_element.rb +18 -13
  24. data/lib/mail/elements/message_ids_element.rb +1 -6
  25. data/lib/mail/elements/mime_version_element.rb +3 -7
  26. data/lib/mail/elements/phrase_list.rb +2 -7
  27. data/lib/mail/elements/received_element.rb +3 -7
  28. data/lib/mail/encodings/quoted_printable.rb +4 -3
  29. data/lib/mail/encodings.rb +60 -28
  30. data/lib/mail/envelope.rb +0 -5
  31. data/lib/mail/field.rb +63 -28
  32. data/lib/mail/field_list.rb +18 -18
  33. data/lib/mail/fields/bcc_field.rb +2 -2
  34. data/lib/mail/fields/cc_field.rb +2 -2
  35. data/lib/mail/fields/comments_field.rb +1 -1
  36. data/lib/mail/fields/common/common_address.rb +26 -21
  37. data/lib/mail/fields/common/common_date.rb +0 -7
  38. data/lib/mail/fields/common/common_field.rb +5 -5
  39. data/lib/mail/fields/content_id_field.rb +1 -2
  40. data/lib/mail/fields/content_transfer_encoding_field.rb +2 -8
  41. data/lib/mail/fields/content_type_field.rb +1 -1
  42. data/lib/mail/fields/date_field.rb +14 -14
  43. data/lib/mail/fields/from_field.rb +2 -2
  44. data/lib/mail/fields/in_reply_to_field.rb +2 -1
  45. data/lib/mail/fields/message_id_field.rb +2 -3
  46. data/lib/mail/fields/references_field.rb +2 -1
  47. data/lib/mail/fields/reply_to_field.rb +2 -2
  48. data/lib/mail/fields/resent_bcc_field.rb +2 -2
  49. data/lib/mail/fields/resent_cc_field.rb +2 -2
  50. data/lib/mail/fields/resent_from_field.rb +2 -2
  51. data/lib/mail/fields/resent_sender_field.rb +3 -3
  52. data/lib/mail/fields/resent_to_field.rb +2 -2
  53. data/lib/mail/fields/sender_field.rb +8 -8
  54. data/lib/mail/fields/to_field.rb +2 -2
  55. data/lib/mail/fields/unstructured_field.rb +8 -2
  56. data/lib/mail/header.rb +13 -23
  57. data/lib/mail/mail.rb +12 -0
  58. data/lib/mail/matchers/has_sent_mail.rb +34 -1
  59. data/lib/mail/message.rb +151 -48
  60. data/lib/mail/multibyte/chars.rb +2 -2
  61. data/lib/mail/multibyte/unicode.rb +6 -4
  62. data/lib/mail/network/delivery_methods/exim.rb +1 -6
  63. data/lib/mail/network/delivery_methods/file_delivery.rb +1 -1
  64. data/lib/mail/network/delivery_methods/sendmail.rb +32 -10
  65. data/lib/mail/network/delivery_methods/smtp.rb +31 -34
  66. data/lib/mail/network/delivery_methods/smtp_connection.rb +6 -6
  67. data/lib/mail/network/delivery_methods/test_mailer.rb +2 -2
  68. data/lib/mail/network/retriever_methods/imap.rb +18 -13
  69. data/lib/mail/parsers/address_lists_parser.rb +132 -0
  70. data/lib/mail/parsers/content_disposition_parser.rb +67 -0
  71. data/lib/mail/parsers/content_location_parser.rb +35 -0
  72. data/lib/mail/parsers/content_transfer_encoding_parser.rb +33 -0
  73. data/lib/mail/parsers/content_type_parser.rb +64 -0
  74. data/lib/mail/parsers/date_time_parser.rb +36 -0
  75. data/lib/mail/parsers/envelope_from_parser.rb +45 -0
  76. data/lib/mail/parsers/message_ids_parser.rb +39 -0
  77. data/lib/mail/parsers/mime_version_parser.rb +41 -0
  78. data/lib/mail/parsers/phrase_lists_parser.rb +33 -0
  79. data/lib/mail/parsers/ragel/common.rl +184 -0
  80. data/lib/mail/parsers/ragel/date_time.rl +30 -0
  81. data/lib/mail/parsers/ragel/parser_info.rb +61 -0
  82. data/lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb +14864 -0
  83. data/lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb.rl +37 -0
  84. data/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb +751 -0
  85. data/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl +37 -0
  86. data/lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb +614 -0
  87. data/lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb.rl +37 -0
  88. data/lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb +447 -0
  89. data/lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb.rl +37 -0
  90. data/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb +825 -0
  91. data/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl +37 -0
  92. data/lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb +817 -0
  93. data/lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb.rl +37 -0
  94. data/lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb +2129 -0
  95. data/lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb.rl +37 -0
  96. data/lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb +1570 -0
  97. data/lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb.rl +37 -0
  98. data/lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb +440 -0
  99. data/lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb.rl +37 -0
  100. data/lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb +564 -0
  101. data/lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb.rl +37 -0
  102. data/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl +51 -0
  103. data/lib/mail/parsers/ragel/ruby/machines/received_machine.rb +5144 -0
  104. data/lib/mail/parsers/ragel/ruby/machines/received_machine.rb.rl +37 -0
  105. data/lib/mail/parsers/ragel/ruby/parser.rb.rl.erb +37 -0
  106. data/lib/mail/parsers/ragel/ruby.rb +29 -0
  107. data/lib/mail/parsers/ragel.rb +17 -0
  108. data/lib/mail/parsers/received_parser.rb +47 -0
  109. data/lib/mail/parsers.rb +26 -0
  110. data/lib/mail/part.rb +6 -2
  111. data/lib/mail/parts_list.rb +5 -3
  112. data/lib/mail/patterns.rb +4 -1
  113. data/lib/mail/utilities.rb +28 -18
  114. data/lib/mail/version.rb +1 -1
  115. data/lib/mail/version_specific/ruby_1_8.rb +6 -2
  116. data/lib/mail/version_specific/ruby_1_9.rb +61 -21
  117. data/lib/mail.rb +1 -2
  118. metadata +112 -73
  119. data/lib/VERSION +0 -4
  120. data/lib/load_parsers.rb +0 -41
  121. data/lib/mail/core_extensions/shell_escape.rb +0 -56
  122. data/lib/mail/parsers/address_lists.rb +0 -64
  123. data/lib/mail/parsers/address_lists.treetop +0 -19
  124. data/lib/mail/parsers/content_disposition.rb +0 -535
  125. data/lib/mail/parsers/content_disposition.treetop +0 -46
  126. data/lib/mail/parsers/content_location.rb +0 -139
  127. data/lib/mail/parsers/content_location.treetop +0 -20
  128. data/lib/mail/parsers/content_transfer_encoding.rb +0 -162
  129. data/lib/mail/parsers/content_transfer_encoding.treetop +0 -20
  130. data/lib/mail/parsers/content_type.rb +0 -967
  131. data/lib/mail/parsers/content_type.treetop +0 -68
  132. data/lib/mail/parsers/date_time.rb +0 -114
  133. data/lib/mail/parsers/date_time.treetop +0 -11
  134. data/lib/mail/parsers/envelope_from.rb +0 -194
  135. data/lib/mail/parsers/envelope_from.treetop +0 -32
  136. data/lib/mail/parsers/message_ids.rb +0 -45
  137. data/lib/mail/parsers/message_ids.treetop +0 -15
  138. data/lib/mail/parsers/mime_version.rb +0 -144
  139. data/lib/mail/parsers/mime_version.treetop +0 -19
  140. data/lib/mail/parsers/phrase_lists.rb +0 -45
  141. data/lib/mail/parsers/phrase_lists.treetop +0 -15
  142. data/lib/mail/parsers/received.rb +0 -71
  143. data/lib/mail/parsers/received.treetop +0 -11
  144. data/lib/mail/parsers/rfc2045.rb +0 -464
  145. data/lib/mail/parsers/rfc2045.treetop +0 -36
  146. data/lib/mail/parsers/rfc2822.rb +0 -5397
  147. data/lib/mail/parsers/rfc2822.treetop +0 -410
  148. data/lib/mail/parsers/rfc2822_obsolete.rb +0 -3768
  149. data/lib/mail/parsers/rfc2822_obsolete.treetop +0 -241
  150. data/lib/tasks/corpus.rake +0 -125
  151. 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.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: 2012-11-18 00:00:00.000000000 Z
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: treetop
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.4.8
38
- type: :runtime
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.4.8
46
+ version: 1.0.3
46
47
  - !ruby/object:Gem::Dependency
47
- name: i18n
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.4.0
54
- type: :runtime
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.4.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
- - lib/load_parsers.rb
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/core_extensions/string.rb
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/elements.rb
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/multibyte.rb
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/network.rb
174
- - lib/mail/parsers/address_lists.rb
175
- - lib/mail/parsers/address_lists.treetop
176
- - lib/mail/parsers/content_disposition.rb
177
- - lib/mail/parsers/content_disposition.treetop
178
- - lib/mail/parsers/content_location.rb
179
- - lib/mail/parsers/content_location.treetop
180
- - lib/mail/parsers/content_transfer_encoding.rb
181
- - lib/mail/parsers/content_transfer_encoding.treetop
182
- - lib/mail/parsers/content_type.rb
183
- - lib/mail/parsers/content_type.treetop
184
- - lib/mail/parsers/date_time.rb
185
- - lib/mail/parsers/date_time.treetop
186
- - lib/mail/parsers/envelope_from.rb
187
- - lib/mail/parsers/envelope_from.treetop
188
- - lib/mail/parsers/message_ids.rb
189
- - lib/mail/parsers/message_ids.treetop
190
- - lib/mail/parsers/mime_version.rb
191
- - lib/mail/parsers/mime_version.treetop
192
- - lib/mail/parsers/phrase_lists.rb
193
- - lib/mail/parsers/phrase_lists.treetop
194
- - lib/mail/parsers/received.rb
195
- - lib/mail/parsers/received.treetop
196
- - lib/mail/parsers/rfc2045.rb
197
- - lib/mail/parsers/rfc2045.treetop
198
- - lib/mail/parsers/rfc2822.rb
199
- - lib/mail/parsers/rfc2822.treetop
200
- - lib/mail/parsers/rfc2822_obsolete.rb
201
- - lib/mail/parsers/rfc2822_obsolete.treetop
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: 1.8.24
273
+ rubygems_version: 2.2.2
235
274
  signing_key:
236
- specification_version: 3
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
@@ -1,4 +0,0 @@
1
- major:2
2
- minor:5
3
- patch:2
4
- build:
data/lib/load_parsers.rb DELETED
@@ -1,41 +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
- STDOUT.puts "Compiling parser #{parser} from treetop source"
12
- Treetop.load(File.join(File.dirname(__FILE__)) + "/mail/parsers/#{parser}")
13
- end
14
-
15
- parsers = %w[ rfc2822_obsolete rfc2822 address_lists phrase_lists
16
- date_time received message_ids envelope_from rfc2045
17
- mime_version content_type content_disposition
18
- content_transfer_encoding content_location ]
19
-
20
- if defined?(MAIL_SPEC_SUITE_RUNNING)
21
- STDOUT.puts "Compiling all parsers from treetop source"
22
-
23
- parsers.each do |parser|
24
- compile_parser(parser)
25
- end
26
-
27
- else
28
- STDOUT.puts "Loading precompiled parsers from ruby source"
29
-
30
- parsers.each do |parser|
31
- begin
32
- require "mail/parsers/#{parser}"
33
- rescue LoadError
34
- STDOUT.puts "Couldn't load parser #{parser} from ruby source"
35
- compile_parser(parser)
36
- end
37
- end
38
-
39
- end
40
-
41
- 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