mail 1.2.5 → 1.2.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of mail might be problematic. Click here for more details.

data/CHANGELOG.rdoc CHANGED
@@ -1,13 +1,23 @@
1
+ == Wed Nov 18 04:26:21 UTC 2009 Mikel Lindsaar <raasdnil@gmail.com>
2
+
3
+ * Changed Encodings.param_encode(string) so it intelligently encodes and quotes needed
4
+ items and leaves plain, no special char, US-ASCII alone unquoted.
5
+
6
+ == Sat Nov 14 08:20:21 UTC 2009 Mikel Lindsaar <raasdnil@gmail.com>
7
+
8
+ * Resolved Issue #10 - empty/nil cc/bcc field causes exception (Mail::Field::ParseError)
9
+
1
10
  == Fri Nov 13 00:31:04 UTC 2009 Mikel Lindsaar <raasdnil@gmail.com>
2
11
 
3
12
  * Hacked and mutilated the network section, made it easier to extend out with other
4
13
  delivery and retriever methods. API changed SLIGHTLY with this. Please check the
5
14
  readme
15
+ * Resolved Issue #8 - Mail::SMTP now delivers to all mail.destinations
6
16
  * Version bump to 1.2.5
7
17
 
8
18
  == Thu Nov 12 02:58:01 UTC 2009 Mikel Lindsaar <raasdnil@gmail.com>
9
19
 
10
- * Resolved Issue #8 - Message ID not handling multiple periods in left hand side
20
+ * Resolved Issue #5 - Message ID not handling multiple periods in left hand side
11
21
  * Resolved Issue #6 - Ordering of add_file and body items causes invalid emails
12
22
 
13
23
  == Tue Nov 10 08:15:14 UTC 2009 Mikel Lindsaar <raasdnil@gmail.com>
data/README.rdoc CHANGED
@@ -445,6 +445,33 @@ Of course... Mail will round trip an attachment as well
445
445
  @round_tripped_mail.attachments.length #=> 1
446
446
  @round_tripped_mail.attachments.first.filename #=> 'myfile.pdf'
447
447
 
448
+ == Using Mail with Testing or Spec'ing Libraries
449
+
450
+ If mail is part of your system, you'll need a way to test it without actually
451
+ sending emails, the TestMailer can do this for you.
452
+
453
+ require 'mail'
454
+ => true
455
+ Mail.defaults do
456
+ delivery_method(:test)
457
+ end
458
+ => #<Mail::Configuration:0x19345a8 @delivery_method=Mail::TestMailer>
459
+ Mail.deliveries
460
+ => []
461
+ Mail.deliver do
462
+ to 'mikel@me.com'
463
+ from 'you@you.com'
464
+ subject 'testing'
465
+ body 'hello'
466
+ end
467
+ => #<Mail::Message:0x19284ec ...
468
+ Mail.deliveries.length
469
+ => 1
470
+ Mail.deliveries.first
471
+ => #<Mail::Message:0x19284ec ...
472
+ Mail.deliveries.clear
473
+ => []
474
+
448
475
  == Excerpts from TREC Spam Corpus 2005
449
476
 
450
477
  The spec fixture files in spec/fixtures/emails/from_trec_2005 are from the
data/Rakefile CHANGED
@@ -1,30 +1,55 @@
1
- require 'rake'
2
1
  require 'rake/rdoctask'
2
+ require 'rake/gempackagetask'
3
3
  require 'rake/testtask'
4
- require 'rubygems'
5
4
  require 'spec/rake/spectask'
6
5
  require 'cucumber/rake/task'
6
+ require 'bundler'
7
7
 
8
- task :default => :spec
8
+ spec = Gem::Specification.new do |s|
9
+ s.name = "mail"
10
+ s.version = "1.2.6"
11
+ s.author = "Mike Lindsaar"
12
+ s.email = "raasdnil@gmail.com"
13
+ s.homepage = "http://github.com/mikel/mail"
14
+ s.description = "A really Ruby Mail handler."
15
+ s.summary = "Mail provides a nice Ruby DSL for making, sending and reading emails."
16
+
17
+ s.platform = Gem::Platform::RUBY
18
+ s.has_rdoc = true
19
+ s.extra_rdoc_files = ["README.rdoc", "CHANGELOG.rdoc", "TODO.rdoc"]
20
+
21
+ manifest = Bundler::Environment.load(File.dirname(__FILE__) + '/Gemfile')
22
+ manifest.dependencies.each do |dep|
23
+ next if dep.only && dep.only.include?("test")
24
+ s.add_dependency(dep.name, dep.version)
25
+ end
26
+
27
+ s.require_path = 'lib'
28
+ s.files = %w(README.rdoc Rakefile TODO.rdoc) + Dir.glob("lib/**/*")
29
+ end
30
+
31
+ Rake::GemPackageTask.new(spec) do |pkg|
32
+ pkg.gem_spec = spec
33
+ end
9
34
 
35
+ task :default => :spec
10
36
  Cucumber::Rake::Task.new do |t|
11
37
  t.cucumber_opts = "spec/features --format pretty"
12
38
  end
13
39
 
14
40
  Spec::Rake::SpecTask.new(:rcov) do |t|
15
- gem 'relevance-rcov', '>= 0.8.4.1'
16
- t.spec_files = FileList['**/test/**/tc_*.rb', '**/spec/**/*_spec.rb']
41
+ t.spec_files = FileList['test/**/tc_*.rb', 'spec/**/*_spec.rb']
17
42
  t.rcov = true
18
43
  t.rcov_opts = t.rcov_opts << ['--exclude', '/Library,/opt,/System']
19
44
  end
20
45
 
21
46
  Spec::Rake::SpecTask.new(:spec) do |t|
22
- t.spec_files = FileList['**/spec/**/*_spec.rb']
47
+ t.spec_files = FileList['spec/**/*_spec.rb']
23
48
  end
24
49
 
25
50
  Rake::TestTask.new(:test) do |t|
26
51
  t.libs << 'test'
27
- t.pattern = '**/test/**/tc_*.rb'
52
+ t.pattern = 'test/**/tc_*.rb'
28
53
  t.verbose = true
29
54
  t.warning = false
30
55
  end
data/TODO.rdoc ADDED
@@ -0,0 +1,19 @@
1
+ == Not really in any order:
2
+
3
+ * Make body, part, field, header, message all responding correctly to :encoded
4
+ and :decoded messages. And remove ":to_s" as a method on these
5
+ classes. Encoded needs to return the field, encoded, ready to send in the
6
+ mail system, that is, US-ASCII. Decoded needs to return the field decoded ready to
7
+ view. :to_s is (unfortunately) ambiguous in this case. Maybe return a warning
8
+ with :to_s and say "please use encoded or decoded instead" or :to_s returns
9
+ "Showing you the encoded view by default, call :decoded to see the decoded view"
10
+
11
+ * Refactor out the multibyte and string handling. Make ActiveSupport a dependancy
12
+
13
+ * Clean up the relationship between message, parts and bodies. Need to make sure
14
+ once parsed, that a body knows what encoding it is, for example.
15
+
16
+ * Cleanup the treetop parsers......... do I _really_ need that many entrance files?
17
+
18
+ * Simplify the relationship of Headers and Fields. Doing too much of the Field work
19
+ in the Header class on instantiating fields. Header should just say "Field, do it!"
@@ -75,6 +75,13 @@ module Mail
75
75
  end
76
76
  set_settings(Mail::POP3, host_array, &block)
77
77
  end
78
+
79
+ def sendmail(sendmail_path = nil)
80
+ delivery_method :sendmail
81
+ set_settings(Mail::Sendmail) do
82
+ path sendmail_path
83
+ end
84
+ end
78
85
 
79
86
  # Allows you to define the retriever method for mail, defaults to POP3
80
87
  #
@@ -18,6 +18,10 @@ module Mail
18
18
  # a.addresses #=> [#<Mail::Address:14943130 Address: |ada@test.lindsaar.net...
19
19
  # a.group_names #=> ["My Group"]
20
20
  def initialize(string)
21
+ if string.blank?
22
+ @address_nodes = []
23
+ return self
24
+ end
21
25
  parser = Mail::AddressListsParser.new
22
26
  if tree = parser.parse(string)
23
27
  @address_nodes = tree.addresses
@@ -41,7 +41,14 @@ module Mail
41
41
  #
42
42
  # Mail::Encodings.param_encode("This is fun") #=> "us-ascii'en'This%20is%20fun"
43
43
  def Encodings.param_encode(str)
44
- RubyVer.param_encode(str)
44
+ case
45
+ when str.ascii_only? && str =~ TOKEN_UNSAFE
46
+ %Q{"#{str}"}
47
+ when str.ascii_only?
48
+ str
49
+ else
50
+ RubyVer.param_encode(str)
51
+ end
45
52
  end
46
53
 
47
54
  # Decodes a parameter value using URI Escaping.
@@ -47,7 +47,7 @@ module Mail
47
47
  private
48
48
 
49
49
  def do_encode(field_name)
50
- return '' unless value
50
+ return '' if value.blank?
51
51
  address_array = tree.addresses.reject { |a| group_addresses.include?(a.encoded) }.compact.map { |a| a.encoded }
52
52
  address_text = address_array.join(", \r\n\t")
53
53
  group_array = groups.map { |k,v| "#{k}: #{v.map { |a| a.encoded }.join(", \r\n\t")};" }
@@ -57,6 +57,7 @@ module Mail
57
57
  end
58
58
 
59
59
  def do_decode
60
+ return nil if value.blank?
60
61
  address_array = tree.addresses.reject { |a| group_addresses.include?(a.decoded) }.map { |a| a.decoded }
61
62
  address_text = address_array.join(", ")
62
63
  group_array = groups.map { |k,v| "#{k}: #{v.map { |a| a.decoded }.join(", ")};" }
@@ -1,18 +1,22 @@
1
1
  module Mail
2
2
  class Sendmail
3
3
  include Singleton
4
-
4
+
5
5
  def settings(&block)
6
6
  if block_given?
7
7
  instance_eval(&block)
8
8
  end
9
9
  self
10
10
  end
11
-
11
+
12
+ def path(value = nil)
13
+ value ? @path = value : @path
14
+ end
15
+
12
16
  def Sendmail.deliver!(mail)
13
- # To be implemented
14
- Mail.deliveries << mail
17
+ IO.popen("#{Mail.defaults.sendmail.path} #{mail.destinations.join(" ")}", "w+") do |io|
18
+ io.puts mail.to_s
19
+ end
15
20
  end
16
-
17
21
  end
18
- end
22
+ end
@@ -2,6 +2,12 @@ module Mail
2
2
  class TestMailer
3
3
  include Singleton
4
4
 
5
+ # The Test Mailer provides a mail delivery method that does not hit
6
+ # your network or mail agent, in this way you can send all the emails
7
+ # you want and they will just be appended to Mail.deliveries
8
+ #
9
+ # See the README under Using Mail with Testing or Spec'ing Libraries
10
+ # for more information.
5
11
  def TestMailer.deliver!(mail)
6
12
  Mail.deliveries << mail
7
13
  end
data/lib/mail/version.rb CHANGED
@@ -3,7 +3,7 @@ module Mail
3
3
  module VERSION
4
4
  MAJOR = 1
5
5
  MINOR = 2
6
- TINY = 5
6
+ TINY = 6
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY].join('.')
9
9
  end
@@ -0,0 +1,124 @@
1
+ namespace :corpus do
2
+
3
+ task :load_mail do
4
+ require 'lib/mail'
5
+ end
6
+
7
+ # Used to run parsing against an arbitrary corpus of email.
8
+ # For example: http://plg.uwaterloo.ca/~gvcormac/treccorpus/
9
+ desc "Provide a LOCATION=/some/dir to verify parsing in bulk"
10
+ task :verify_all => :load_mail do
11
+
12
+ root_of_corpus = ENV['LOCATION']
13
+ @save_failures_to = ENV['SAVE_TO']
14
+ @failed_emails = []
15
+ @checked_count = 0
16
+
17
+ if root_of_corpus
18
+ root_of_corpus = File.expand_path(root_of_corpus)
19
+ if not File.directory?(root_of_corpus)
20
+ raise "\n\tPath '#{root_of_corpus}' is not a directory.\n\n"
21
+ end
22
+ else
23
+ raise "\n\tSupply path to corpus: LOCATION=/path/to/corpus\n\n"
24
+ end
25
+
26
+ if @save_failures_to
27
+ if not File.directory?(@save_failures_to)
28
+ raise "\n\tPath '#{@save_failures_to}' is not a directory.\n\n"
29
+ end
30
+ @save_failures_to = File.expand_path(@save_failures_to)
31
+ puts "Mail which fails to parse will be saved in '#{@save_failures_to}'"
32
+ end
33
+
34
+ puts "Checking '#{root_of_corpus}' directory (recursively)"
35
+
36
+ # we're tracking all the errors separately, don't clutter terminal
37
+ $stderr_backup = $stderr.dup
38
+ $stderr.reopen("/dev/null", "w")
39
+ STDERR = $stderr
40
+
41
+ dir_node(root_of_corpus)
42
+
43
+ # put our toys back now that we're done with them
44
+ $stderr = $stderr_backup.dup
45
+ STDERR = $stderr
46
+
47
+ puts "\n\n"
48
+
49
+ if @failed_emails.any?
50
+ report_failures_to_stdout
51
+ end
52
+ puts "Out of Total: #{@checked_count}"
53
+
54
+ if @save_failures_to
55
+ puts "Add SAVE_TO=/some/dir to save failed emails to for review.,"
56
+ puts "May result in a lot of saved files. Do a dry run first!\n\n"
57
+ else
58
+ puts "There are no errors"
59
+ end
60
+ end
61
+
62
+ def dir_node(path)
63
+ puts "\n\n"
64
+ puts "Checking emails in '#{path}':"
65
+
66
+ entries = Dir.entries(path)
67
+
68
+ entries.each do |entry|
69
+ next if ['.', '..'].include?(entry)
70
+ full_path = File.join(path, entry)
71
+
72
+ if File.file?(full_path)
73
+ file_node(full_path)
74
+ elsif File.directory?(full_path)
75
+ dir_node(full_path)
76
+ end
77
+ end
78
+ end
79
+
80
+ def file_node(path)
81
+ verify(path)
82
+ end
83
+
84
+ def verify(path)
85
+ result, message = parse_as_mail(path)
86
+ if result
87
+ print '.'
88
+ $stdout.flush
89
+ else
90
+ save_failure(path, message)
91
+ print 'x'
92
+ end
93
+ end
94
+
95
+ def save_failure(path, message)
96
+ @failed_emails << [path, message]
97
+ if @save_failures_to
98
+ email_basename = File.basename(path)
99
+ failure_as_filename = message.gsub(/\W/, '_')
100
+ new_email_name = [failure_as_filename, email_basename].join("_")
101
+ File.open(File.join(@save_failures_to, new_email_name), 'w+') do |fh|
102
+ fh << File.read(path)
103
+ end
104
+ end
105
+ end
106
+
107
+ def parse_as_mail(path)
108
+ @checked_count += 1
109
+ begin
110
+ parsed_mail = Mail.read(path)
111
+ [true, nil]
112
+ rescue => e
113
+ [false, e.message]
114
+ end
115
+ end
116
+
117
+ def report_failures_to_stdout
118
+ @failed_emails.each do |failed|
119
+ puts "#{failed[0]} : #{failed[1]}"
120
+ end
121
+ puts "Failed: #{@failed_emails.size}"
122
+ end
123
+
124
+ end
@@ -0,0 +1,10 @@
1
+ namespace :treetop do
2
+
3
+ desc "Pre-generate all the .treetop files into .rb files"
4
+ task :generate do
5
+ Dir[File.join(File.dirname(__FILE__), '..', 'mail', 'parsers', '*.treetop')].each do |filename|
6
+ `tt #{filename}`
7
+ end
8
+ end
9
+
10
+ end
metadata CHANGED
@@ -1,56 +1,56 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mail
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.5
4
+ version: 1.2.6
5
5
  platform: ruby
6
6
  authors:
7
- - Mikel Lindsaar
7
+ - Mike Lindsaar
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-25 00:00:00 +11:00
12
+ date: 2009-11-19 00:00:00 +11:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: treetop
16
+ name: tlsmail
17
17
  type: :runtime
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: "1.4"
23
+ version: "0"
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
- name: activesupport
26
+ name: treetop
27
27
  type: :runtime
28
28
  version_requirement:
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: "2.3"
33
+ version: "0"
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
- name: mime-types
36
+ name: activesupport
37
37
  type: :runtime
38
38
  version_requirement:
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: "1.0"
43
+ version: "0"
44
44
  version:
45
45
  - !ruby/object:Gem::Dependency
46
- name: rspec
47
- type: :development
46
+ name: mime-types
47
+ type: :runtime
48
48
  version_requirement:
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: 1.2.9
53
+ version: "0"
54
54
  version:
55
55
  description: A really Ruby Mail handler.
56
56
  email: raasdnil@gmail.com
@@ -60,128 +60,130 @@ extensions: []
60
60
 
61
61
  extra_rdoc_files:
62
62
  - README.rdoc
63
+ - CHANGELOG.rdoc
64
+ - TODO.rdoc
63
65
  files:
64
- - ./.gitignore
65
- - ./CHANGELOG.rdoc
66
- - ./Manifest.txt
67
- - ./Rakefile
68
- - ./README.rdoc
69
- - ./lib/mail.rb
70
- - ./lib/mail/attachment.rb
71
- - ./lib/mail/body.rb
72
- - ./lib/mail/configuration.rb
73
- - ./lib/mail/core_extensions/blank.rb
74
- - ./lib/mail/core_extensions/nil.rb
75
- - ./lib/mail/core_extensions/string.rb
76
- - ./lib/mail/core_extensions.rb
77
- - ./lib/mail/elements/address.rb
78
- - ./lib/mail/elements/address_list.rb
79
- - ./lib/mail/elements/content_disposition_element.rb
80
- - ./lib/mail/elements/content_location_element.rb
81
- - ./lib/mail/elements/content_transfer_encoding_element.rb
82
- - ./lib/mail/elements/content_type_element.rb
83
- - ./lib/mail/elements/date_time_element.rb
84
- - ./lib/mail/elements/envelope_from_element.rb
85
- - ./lib/mail/elements/message_ids_element.rb
86
- - ./lib/mail/elements/mime_version_element.rb
87
- - ./lib/mail/elements/phrase_list.rb
88
- - ./lib/mail/elements/received_element.rb
89
- - ./lib/mail/encodings/base64.rb
90
- - ./lib/mail/encodings/encodings.rb
91
- - ./lib/mail/encodings/quoted_printable.rb
92
- - ./lib/mail/envelope.rb
93
- - ./lib/mail/field.rb
94
- - ./lib/mail/field_list.rb
95
- - ./lib/mail/fields/bcc_field.rb
96
- - ./lib/mail/fields/cc_field.rb
97
- - ./lib/mail/fields/comments_field.rb
98
- - ./lib/mail/fields/common/common_address.rb
99
- - ./lib/mail/fields/common/common_date.rb
100
- - ./lib/mail/fields/common/common_field.rb
101
- - ./lib/mail/fields/common/common_message_id.rb
102
- - ./lib/mail/fields/common/parameter_hash.rb
103
- - ./lib/mail/fields/content_description_field.rb
104
- - ./lib/mail/fields/content_disposition_field.rb
105
- - ./lib/mail/fields/content_id_field.rb
106
- - ./lib/mail/fields/content_location_field.rb
107
- - ./lib/mail/fields/content_transfer_encoding_field.rb
108
- - ./lib/mail/fields/content_type_field.rb
109
- - ./lib/mail/fields/date_field.rb
110
- - ./lib/mail/fields/from_field.rb
111
- - ./lib/mail/fields/in_reply_to_field.rb
112
- - ./lib/mail/fields/keywords_field.rb
113
- - ./lib/mail/fields/message_id_field.rb
114
- - ./lib/mail/fields/mime_version_field.rb
115
- - ./lib/mail/fields/optional_field.rb
116
- - ./lib/mail/fields/received_field.rb
117
- - ./lib/mail/fields/references_field.rb
118
- - ./lib/mail/fields/reply_to_field.rb
119
- - ./lib/mail/fields/resent_bcc_field.rb
120
- - ./lib/mail/fields/resent_cc_field.rb
121
- - ./lib/mail/fields/resent_date_field.rb
122
- - ./lib/mail/fields/resent_from_field.rb
123
- - ./lib/mail/fields/resent_message_id_field.rb
124
- - ./lib/mail/fields/resent_sender_field.rb
125
- - ./lib/mail/fields/resent_to_field.rb
126
- - ./lib/mail/fields/return_path_field.rb
127
- - ./lib/mail/fields/sender_field.rb
128
- - ./lib/mail/fields/structured_field.rb
129
- - ./lib/mail/fields/subject_field.rb
130
- - ./lib/mail/fields/to_field.rb
131
- - ./lib/mail/fields/unstructured_field.rb
132
- - ./lib/mail/header.rb
133
- - ./lib/mail/mail.rb
134
- - ./lib/mail/message.rb
135
- - ./lib/mail/network/deliverable.rb
136
- - ./lib/mail/network/delivery_methods/file_delivery.rb
137
- - ./lib/mail/network/delivery_methods/sendmail.rb
138
- - ./lib/mail/network/delivery_methods/smtp.rb
139
- - ./lib/mail/network/delivery_methods/test_mailer.rb
140
- - ./lib/mail/network/retrievable.rb
141
- - ./lib/mail/network/retriever_methods/imap.rb
142
- - ./lib/mail/network/retriever_methods/pop3.rb
143
- - ./lib/mail/parsers/address_lists.rb
144
- - ./lib/mail/parsers/address_lists.treetop
145
- - ./lib/mail/parsers/content_disposition.rb
146
- - ./lib/mail/parsers/content_disposition.treetop
147
- - ./lib/mail/parsers/content_location.rb
148
- - ./lib/mail/parsers/content_location.treetop
149
- - ./lib/mail/parsers/content_transfer_encoding.rb
150
- - ./lib/mail/parsers/content_transfer_encoding.treetop
151
- - ./lib/mail/parsers/content_type.rb
152
- - ./lib/mail/parsers/content_type.treetop
153
- - ./lib/mail/parsers/date_time.rb
154
- - ./lib/mail/parsers/date_time.treetop
155
- - ./lib/mail/parsers/envelope_from.rb
156
- - ./lib/mail/parsers/envelope_from.treetop
157
- - ./lib/mail/parsers/message_ids.rb
158
- - ./lib/mail/parsers/message_ids.treetop
159
- - ./lib/mail/parsers/mime_version.rb
160
- - ./lib/mail/parsers/mime_version.treetop
161
- - ./lib/mail/parsers/phrase_lists.rb
162
- - ./lib/mail/parsers/phrase_lists.treetop
163
- - ./lib/mail/parsers/received.rb
164
- - ./lib/mail/parsers/received.treetop
165
- - ./lib/mail/parsers/rfc2045.rb
166
- - ./lib/mail/parsers/rfc2045.treetop
167
- - ./lib/mail/parsers/rfc2822.rb
168
- - ./lib/mail/parsers/rfc2822.treetop
169
- - ./lib/mail/parsers/rfc2822_obsolete.rb
170
- - ./lib/mail/parsers/rfc2822_obsolete.treetop
171
- - ./lib/mail/part.rb
172
- - ./lib/mail/patterns.rb
173
- - ./lib/mail/utilities.rb
174
- - ./lib/mail/version.rb
175
- - ./lib/mail/version_specific/ruby_1_8.rb
176
- - ./lib/mail/version_specific/ruby_1_9.rb
177
66
  - README.rdoc
67
+ - Rakefile
68
+ - TODO.rdoc
69
+ - lib/mail/attachment.rb
70
+ - lib/mail/body.rb
71
+ - lib/mail/configuration.rb
72
+ - lib/mail/core_extensions/blank.rb
73
+ - lib/mail/core_extensions/nil.rb
74
+ - lib/mail/core_extensions/string.rb
75
+ - lib/mail/core_extensions.rb
76
+ - lib/mail/elements/address.rb
77
+ - lib/mail/elements/address_list.rb
78
+ - lib/mail/elements/content_disposition_element.rb
79
+ - lib/mail/elements/content_location_element.rb
80
+ - lib/mail/elements/content_transfer_encoding_element.rb
81
+ - lib/mail/elements/content_type_element.rb
82
+ - lib/mail/elements/date_time_element.rb
83
+ - lib/mail/elements/envelope_from_element.rb
84
+ - lib/mail/elements/message_ids_element.rb
85
+ - lib/mail/elements/mime_version_element.rb
86
+ - lib/mail/elements/phrase_list.rb
87
+ - lib/mail/elements/received_element.rb
88
+ - lib/mail/encodings/base64.rb
89
+ - lib/mail/encodings/encodings.rb
90
+ - lib/mail/encodings/quoted_printable.rb
91
+ - lib/mail/envelope.rb
92
+ - lib/mail/field.rb
93
+ - lib/mail/field_list.rb
94
+ - lib/mail/fields/bcc_field.rb
95
+ - lib/mail/fields/cc_field.rb
96
+ - lib/mail/fields/comments_field.rb
97
+ - lib/mail/fields/common/common_address.rb
98
+ - lib/mail/fields/common/common_date.rb
99
+ - lib/mail/fields/common/common_field.rb
100
+ - lib/mail/fields/common/common_message_id.rb
101
+ - lib/mail/fields/common/parameter_hash.rb
102
+ - lib/mail/fields/content_description_field.rb
103
+ - lib/mail/fields/content_disposition_field.rb
104
+ - lib/mail/fields/content_id_field.rb
105
+ - lib/mail/fields/content_location_field.rb
106
+ - lib/mail/fields/content_transfer_encoding_field.rb
107
+ - lib/mail/fields/content_type_field.rb
108
+ - lib/mail/fields/date_field.rb
109
+ - lib/mail/fields/from_field.rb
110
+ - lib/mail/fields/in_reply_to_field.rb
111
+ - lib/mail/fields/keywords_field.rb
112
+ - lib/mail/fields/message_id_field.rb
113
+ - lib/mail/fields/mime_version_field.rb
114
+ - lib/mail/fields/optional_field.rb
115
+ - lib/mail/fields/received_field.rb
116
+ - lib/mail/fields/references_field.rb
117
+ - lib/mail/fields/reply_to_field.rb
118
+ - lib/mail/fields/resent_bcc_field.rb
119
+ - lib/mail/fields/resent_cc_field.rb
120
+ - lib/mail/fields/resent_date_field.rb
121
+ - lib/mail/fields/resent_from_field.rb
122
+ - lib/mail/fields/resent_message_id_field.rb
123
+ - lib/mail/fields/resent_sender_field.rb
124
+ - lib/mail/fields/resent_to_field.rb
125
+ - lib/mail/fields/return_path_field.rb
126
+ - lib/mail/fields/sender_field.rb
127
+ - lib/mail/fields/structured_field.rb
128
+ - lib/mail/fields/subject_field.rb
129
+ - lib/mail/fields/to_field.rb
130
+ - lib/mail/fields/unstructured_field.rb
131
+ - lib/mail/header.rb
132
+ - lib/mail/mail.rb
133
+ - lib/mail/message.rb
134
+ - lib/mail/network/deliverable.rb
135
+ - lib/mail/network/delivery_methods/file_delivery.rb
136
+ - lib/mail/network/delivery_methods/sendmail.rb
137
+ - lib/mail/network/delivery_methods/smtp.rb
138
+ - lib/mail/network/delivery_methods/test_mailer.rb
139
+ - lib/mail/network/retrievable.rb
140
+ - lib/mail/network/retriever_methods/imap.rb
141
+ - lib/mail/network/retriever_methods/pop3.rb
142
+ - lib/mail/parsers/address_lists.rb
143
+ - lib/mail/parsers/address_lists.treetop
144
+ - lib/mail/parsers/content_disposition.rb
145
+ - lib/mail/parsers/content_disposition.treetop
146
+ - lib/mail/parsers/content_location.rb
147
+ - lib/mail/parsers/content_location.treetop
148
+ - lib/mail/parsers/content_transfer_encoding.rb
149
+ - lib/mail/parsers/content_transfer_encoding.treetop
150
+ - lib/mail/parsers/content_type.rb
151
+ - lib/mail/parsers/content_type.treetop
152
+ - lib/mail/parsers/date_time.rb
153
+ - lib/mail/parsers/date_time.treetop
154
+ - lib/mail/parsers/envelope_from.rb
155
+ - lib/mail/parsers/envelope_from.treetop
156
+ - lib/mail/parsers/message_ids.rb
157
+ - lib/mail/parsers/message_ids.treetop
158
+ - lib/mail/parsers/mime_version.rb
159
+ - lib/mail/parsers/mime_version.treetop
160
+ - lib/mail/parsers/phrase_lists.rb
161
+ - lib/mail/parsers/phrase_lists.treetop
162
+ - lib/mail/parsers/received.rb
163
+ - lib/mail/parsers/received.treetop
164
+ - lib/mail/parsers/rfc2045.rb
165
+ - lib/mail/parsers/rfc2045.treetop
166
+ - lib/mail/parsers/rfc2822.rb
167
+ - lib/mail/parsers/rfc2822.treetop
168
+ - lib/mail/parsers/rfc2822_obsolete.rb
169
+ - lib/mail/parsers/rfc2822_obsolete.treetop
170
+ - lib/mail/part.rb
171
+ - lib/mail/patterns.rb
172
+ - lib/mail/utilities.rb
173
+ - lib/mail/version.rb
174
+ - lib/mail/version_specific/ruby_1_8.rb
175
+ - lib/mail/version_specific/ruby_1_9.rb
176
+ - lib/mail.rb
177
+ - lib/tasks/corpus.rake
178
+ - lib/tasks/treetop.rake
179
+ - CHANGELOG.rdoc
178
180
  has_rdoc: true
179
181
  homepage: http://github.com/mikel/mail
180
182
  licenses: []
181
183
 
182
184
  post_install_message:
183
- rdoc_options:
184
- - --charset=UTF-8
185
+ rdoc_options: []
186
+
185
187
  require_paths:
186
188
  - lib
187
189
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -194,13 +196,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
196
  requirements:
195
197
  - - ">="
196
198
  - !ruby/object:Gem::Version
197
- version: 1.2.0
199
+ version: "0"
198
200
  version:
199
- requirements:
200
- - treetop, Treetop is a Ruby-based DSL for text parsing and interpretation
201
- - mime/types, A list of a lot of Mime Types
202
- - tlsmail, Used for encrypted SMTP, only if you are on RUBY_VERSION <= 1.8.6
203
- - activesupport, Because it has lots of goodies
201
+ requirements: []
202
+
204
203
  rubyforge_project:
205
204
  rubygems_version: 1.3.5
206
205
  signing_key:
data/.gitignore DELETED
@@ -1,4 +0,0 @@
1
- .DS_Store
2
- coverage
3
- rdoc
4
- gems
data/Manifest.txt DELETED
@@ -1,113 +0,0 @@
1
- .gitignore
2
- CHANGELOG.rdoc
3
- Manifest.txt
4
- Rakefile
5
- README.rdoc
6
- lib/mail.rb
7
- lib/mail/attachment.rb
8
- lib/mail/body.rb
9
- lib/mail/configuration.rb
10
- lib/mail/core_extensions/blank.rb
11
- lib/mail/core_extensions/nil.rb
12
- lib/mail/core_extensions/string.rb
13
- lib/mail/core_extensions.rb
14
- lib/mail/elements/address.rb
15
- lib/mail/elements/address_list.rb
16
- lib/mail/elements/content_disposition_element.rb
17
- lib/mail/elements/content_location_element.rb
18
- lib/mail/elements/content_transfer_encoding_element.rb
19
- lib/mail/elements/content_type_element.rb
20
- lib/mail/elements/date_time_element.rb
21
- lib/mail/elements/envelope_from_element.rb
22
- lib/mail/elements/message_ids_element.rb
23
- lib/mail/elements/mime_version_element.rb
24
- lib/mail/elements/phrase_list.rb
25
- lib/mail/elements/received_element.rb
26
- lib/mail/encodings/base64.rb
27
- lib/mail/encodings/encodings.rb
28
- lib/mail/encodings/quoted_printable.rb
29
- lib/mail/envelope.rb
30
- lib/mail/field.rb
31
- lib/mail/field_list.rb
32
- lib/mail/fields/bcc_field.rb
33
- lib/mail/fields/cc_field.rb
34
- lib/mail/fields/comments_field.rb
35
- lib/mail/fields/common/common_address.rb
36
- lib/mail/fields/common/common_date.rb
37
- lib/mail/fields/common/common_field.rb
38
- lib/mail/fields/common/common_message_id.rb
39
- lib/mail/fields/common/parameter_hash.rb
40
- lib/mail/fields/content_description_field.rb
41
- lib/mail/fields/content_disposition_field.rb
42
- lib/mail/fields/content_id_field.rb
43
- lib/mail/fields/content_location_field.rb
44
- lib/mail/fields/content_transfer_encoding_field.rb
45
- lib/mail/fields/content_type_field.rb
46
- lib/mail/fields/date_field.rb
47
- lib/mail/fields/from_field.rb
48
- lib/mail/fields/in_reply_to_field.rb
49
- lib/mail/fields/keywords_field.rb
50
- lib/mail/fields/message_id_field.rb
51
- lib/mail/fields/mime_version_field.rb
52
- lib/mail/fields/optional_field.rb
53
- lib/mail/fields/received_field.rb
54
- lib/mail/fields/references_field.rb
55
- lib/mail/fields/reply_to_field.rb
56
- lib/mail/fields/resent_bcc_field.rb
57
- lib/mail/fields/resent_cc_field.rb
58
- lib/mail/fields/resent_date_field.rb
59
- lib/mail/fields/resent_from_field.rb
60
- lib/mail/fields/resent_message_id_field.rb
61
- lib/mail/fields/resent_sender_field.rb
62
- lib/mail/fields/resent_to_field.rb
63
- lib/mail/fields/return_path_field.rb
64
- lib/mail/fields/sender_field.rb
65
- lib/mail/fields/structured_field.rb
66
- lib/mail/fields/subject_field.rb
67
- lib/mail/fields/to_field.rb
68
- lib/mail/fields/unstructured_field.rb
69
- lib/mail/header.rb
70
- lib/mail/mail.rb
71
- lib/mail/message.rb
72
- lib/mail/network/deliverable.rb
73
- lib/mail/network/delivery_methods/file_delivery.rb
74
- lib/mail/network/delivery_methods/sendmail.rb
75
- lib/mail/network/delivery_methods/smtp.rb
76
- lib/mail/network/delivery_methods/test_mailer.rb
77
- lib/mail/network/retrievable.rb
78
- lib/mail/network/retriever_methods/imap.rb
79
- lib/mail/network/retriever_methods/pop3.rb
80
- lib/mail/parsers/address_lists.rb
81
- lib/mail/parsers/address_lists.treetop
82
- lib/mail/parsers/content_disposition.rb
83
- lib/mail/parsers/content_disposition.treetop
84
- lib/mail/parsers/content_location.rb
85
- lib/mail/parsers/content_location.treetop
86
- lib/mail/parsers/content_transfer_encoding.rb
87
- lib/mail/parsers/content_transfer_encoding.treetop
88
- lib/mail/parsers/content_type.rb
89
- lib/mail/parsers/content_type.treetop
90
- lib/mail/parsers/date_time.rb
91
- lib/mail/parsers/date_time.treetop
92
- lib/mail/parsers/envelope_from.rb
93
- lib/mail/parsers/envelope_from.treetop
94
- lib/mail/parsers/message_ids.rb
95
- lib/mail/parsers/message_ids.treetop
96
- lib/mail/parsers/mime_version.rb
97
- lib/mail/parsers/mime_version.treetop
98
- lib/mail/parsers/phrase_lists.rb
99
- lib/mail/parsers/phrase_lists.treetop
100
- lib/mail/parsers/received.rb
101
- lib/mail/parsers/received.treetop
102
- lib/mail/parsers/rfc2045.rb
103
- lib/mail/parsers/rfc2045.treetop
104
- lib/mail/parsers/rfc2822.rb
105
- lib/mail/parsers/rfc2822.treetop
106
- lib/mail/parsers/rfc2822_obsolete.rb
107
- lib/mail/parsers/rfc2822_obsolete.treetop
108
- lib/mail/part.rb
109
- lib/mail/patterns.rb
110
- lib/mail/utilities.rb
111
- lib/mail/version.rb
112
- lib/mail/version_specific/ruby_1_8.rb
113
- lib/mail/version_specific/ruby_1_9.rb