aws-ses 0.4.3 → 0.7.1

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 649f6d5775f0057147e1b411dd5f43af48812bf2
4
+ data.tar.gz: b3b7fd033599ef3678b3c93d0ed6f0456bcef2d5
5
+ SHA512:
6
+ metadata.gz: d8e1a237725651f2e99fcc6a8207466df258b9ce466058ca13287a9f6e16f9fbd60fcb6690a54cbafe382131149180e2474e23dad3d02e56d6e261b7895f8bcb
7
+ data.tar.gz: 776c4d15557c85664f81dbcbd49caf401a48d4e21bc7beb01846688055da1b3d243e7ad1040e82742e9167d46f9d46b193359256a438c711b6f4659068462db4
data/CHANGELOG CHANGED
@@ -1,3 +1,20 @@
1
+ 0.7.1:
2
+ * Bugfix in sig version v4 detection
3
+
4
+ 0.7.0:
5
+ * Implement Authorization Header v4 (add config: `signature_version: 4`)
6
+ * Wrap message ID in `<>` correctly
7
+
8
+ 0.6.0:
9
+ * Various small bug fixes
10
+
11
+ 0.5.0:
12
+ * Check for existence of html or text body when attachments are included
13
+ * Message ids in mail objects should now reflect what is actually sent.
14
+
15
+ 0.4.4:
16
+ * Fixed error in initialized settings if you don't set them manually
17
+
1
18
  0.4.3:
2
19
  * No more error from Rails 3.1 about incompatible gem versions
3
20
  * Better error message
data/Gemfile CHANGED
@@ -6,14 +6,16 @@ source "http://rubygems.org"
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
- gem "shoulda-context", ">= 0"
10
- gem "bundler", "~> 1.0.0"
11
- gem "jeweler", "~> 1.5.2"
12
- gem "rcov", ">= 0"
9
+ gem "bundler", ">= 1.17"
13
10
  gem 'flexmock', '~> 0.8.11'
11
+ gem "jeweler"
12
+ gem "rake"
13
+ gem "shoulda-context", ">= 0"
14
+ gem 'test-unit'
15
+ gem 'timecop'
14
16
  end
15
17
 
16
- gem 'xml-simple'
17
18
  gem 'builder'
19
+ gem 'mail', '> 2.2.5'
18
20
  gem 'mime-types'
19
- gem 'mail', '> 2.2.5'
21
+ gem 'xml-simple'
@@ -1,39 +1,80 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- activesupport (3.0.3)
5
- builder (3.0.0)
4
+ addressable (2.4.0)
5
+ builder (3.2.2)
6
+ descendants_tracker (0.0.4)
7
+ thread_safe (~> 0.3, >= 0.3.1)
8
+ faraday (0.9.2)
9
+ multipart-post (>= 1.2, < 3)
6
10
  flexmock (0.8.11)
7
- git (1.2.5)
8
- i18n (0.5.0)
9
- jeweler (1.5.2)
10
- bundler (~> 1.0.0)
11
+ git (1.7.0)
12
+ rchardet (~> 1.8)
13
+ github_api (0.16.0)
14
+ addressable (~> 2.4.0)
15
+ descendants_tracker (~> 0.0.4)
16
+ faraday (~> 0.8, < 0.10)
17
+ hashie (>= 3.4)
18
+ mime-types (>= 1.16, < 3.0)
19
+ oauth2 (~> 1.0)
20
+ hashie (4.1.0)
21
+ highline (2.0.3)
22
+ jeweler (2.3.9)
23
+ builder
24
+ bundler
11
25
  git (>= 1.2.5)
26
+ github_api (~> 0.16.0)
27
+ highline (>= 1.6.15)
28
+ nokogiri (>= 1.5.10)
29
+ psych
12
30
  rake
13
- mail (2.2.15)
14
- activesupport (>= 2.3.6)
15
- i18n (>= 0.4.0)
16
- mime-types (~> 1.16)
17
- treetop (~> 1.4.8)
18
- mime-types (1.16)
19
- polyglot (0.3.1)
20
- rake (0.8.7)
21
- rcov (0.9.9)
22
- shoulda-context (1.0.0.beta1)
23
- treetop (1.4.9)
24
- polyglot (>= 0.3.1)
25
- xml-simple (1.0.13)
31
+ rdoc
32
+ semver2
33
+ jwt (2.2.2)
34
+ mail (2.6.1)
35
+ mime-types (>= 1.16, < 3)
36
+ mime-types (2.4.1)
37
+ mini_portile2 (2.4.0)
38
+ multi_json (1.15.0)
39
+ multi_xml (0.6.0)
40
+ multipart-post (2.1.1)
41
+ nokogiri (1.10.10)
42
+ mini_portile2 (~> 2.4.0)
43
+ oauth2 (1.4.4)
44
+ faraday (>= 0.8, < 2.0)
45
+ jwt (>= 1.0, < 3.0)
46
+ multi_json (~> 1.3)
47
+ multi_xml (~> 0.5)
48
+ rack (>= 1.2, < 3)
49
+ power_assert (1.2.0)
50
+ psych (3.1.0)
51
+ rack (2.2.3)
52
+ rake (13.0.1)
53
+ rchardet (1.8.0)
54
+ rdoc (6.2.0)
55
+ semver2 (3.4.2)
56
+ shoulda-context (1.2.1)
57
+ test-unit (3.3.6)
58
+ power_assert
59
+ thread_safe (0.3.6)
60
+ timecop (0.9.1)
61
+ xml-simple (1.1.4)
26
62
 
27
63
  PLATFORMS
28
64
  ruby
29
65
 
30
66
  DEPENDENCIES
31
67
  builder
32
- bundler (~> 1.0.0)
68
+ bundler (>= 1.17)
33
69
  flexmock (~> 0.8.11)
34
- jeweler (~> 1.5.2)
70
+ jeweler
35
71
  mail (> 2.2.5)
36
72
  mime-types
37
- rcov
73
+ rake
38
74
  shoulda-context
75
+ test-unit
76
+ timecop
39
77
  xml-simple
78
+
79
+ BUNDLED WITH
80
+ 1.17.3
data/README.erb CHANGED
@@ -16,11 +16,11 @@
16
16
 
17
17
  == Rails
18
18
 
19
- This gem is compatible with Rails >= 3.0.0 and Rails 2.3.x
19
+ This gem is compatible with Rails >= 3.0.0 and Ruby 2.3.x
20
20
 
21
21
  To use, first add the gem to your Gemfile:
22
22
 
23
- gem "aws-ses", "~> 0.4.3", :require => 'aws/ses'
23
+ gem "aws-ses", "~> 0.7.1", :require => 'aws/ses'
24
24
 
25
25
  == For Rails 3.x
26
26
 
@@ -28,7 +28,8 @@ Then, add your Amazon credentials and extend ActionMailer in `config/initializer
28
28
 
29
29
  ActionMailer::Base.add_delivery_method :ses, AWS::SES::Base,
30
30
  :access_key_id => 'abc',
31
- :secret_access_key => '123'
31
+ :secret_access_key => '123',
32
+ :signature_version => 4
32
33
 
33
34
  Then set the delivery method in `config/environments/*rb` as appropriate:
34
35
 
@@ -77,7 +78,7 @@ Available at: https://github.com/drewblas/aws-ses
77
78
 
78
79
  == Copyright
79
80
 
80
- Copyright (c) 2011 Drew Blas. See LICENSE for further details.
81
+ Copyright (c) 2020 Drew Blas. See LICENSE for further details.
81
82
 
82
83
  == Thanks
83
84
 
@@ -89,4 +90,6 @@ Special thanks to Marcel Molina Jr. for his creation of AWS::S3 which I used por
89
90
  * nathanbertram
90
91
  * sshaw
91
92
  * teeparham (documentation)
92
- * pzb
93
+ * pzb
94
+ * NicholasHely
95
+ * m33h
@@ -19,6 +19,18 @@ Before you can do anything, you must establish a connection using Base.new. A b
19
19
 
20
20
  The minimum connection options that you must specify are your access key id and your secret access key.
21
21
 
22
+ === Connecting to a server from another region
23
+
24
+ The default server API endpoint is "email.us-east-1.amazonaws.com", corresponding to the US East 1 region.
25
+
26
+ To connect to a different one, just pass it as a parameter to the AWS::SES::Base initializer:
27
+
28
+ ses = AWS::SES::Base.new(
29
+ :access_key_id => 'abc',
30
+ :secret_access_key => '123',
31
+ :server => 'email.eu-west-1.amazonaws.com',
32
+ :message_id_domain => 'eu-west-1.amazonses.com'
33
+ )
22
34
 
23
35
  == Send E-mail
24
36
 
@@ -26,11 +38,12 @@ Adds functionality for send_email and send_raw_email
26
38
  Use the following to send an e-mail:
27
39
 
28
40
  ses = AWS::SES::Base.new( ... connection info ... )
29
- ses.send_email :to => ['jon@example.com', 'dave@example.com'],
41
+ ses.send_email(
42
+ :to => ['jon@example.com', 'dave@example.com'],
30
43
  :source => '"Steve Smith" <steve@example.com>',
31
- :subject => 'Subject Line'
44
+ :subject => 'Subject Line',
32
45
  :text_body => 'Internal text body'
33
-
46
+ )
34
47
  By default, the email "from" display address is whatever is before the @.
35
48
  To change the display from, use the format:
36
49
 
@@ -94,8 +107,13 @@ GetSendStatisticsResponse#data_points is an array where each element is a hash w
94
107
  * +Complaints+
95
108
  * +Timestamp+
96
109
 
97
- response = ses.statistics
98
- response.data_points # =>
110
+ For example:
111
+
112
+ response = ses.statistics
113
+ response.data_points
114
+
115
+ will return:
116
+
99
117
  [{"Bounces"=>"0",
100
118
  "Timestamp"=>"2011-01-26T16:30:00Z",
101
119
  "DeliveryAttempts"=>"1",
@@ -117,14 +135,13 @@ GetSendStatisticsResponse#data_points is an array where each element is a hash w
117
135
  "Rejects"=>"0",
118
136
  "Complaints"=>"0"}]
119
137
 
120
-
121
138
  == Rails
122
139
 
123
- This gem is compatible with Rails >= 3.0.0 and Rails 2.3.x
140
+ This gem is compatible with Rails >= 3.0.0 and Ruby 2.3.x
124
141
 
125
142
  To use, first add the gem to your Gemfile:
126
143
 
127
- gem "aws-ses", "~> 0.4.3", :require => 'aws/ses'
144
+ gem "aws-ses", "~> 0.7.0", :require => 'aws/ses'
128
145
 
129
146
  == For Rails 3.x
130
147
 
@@ -132,9 +149,10 @@ Then, add your Amazon credentials and extend ActionMailer in `config/initializer
132
149
 
133
150
  ActionMailer::Base.add_delivery_method :ses, AWS::SES::Base,
134
151
  :access_key_id => 'abc',
135
- :secret_access_key => '123'
152
+ :secret_access_key => '123',
153
+ :signature_version => 4
136
154
 
137
- Then set the delivery method in `config/environments/*rb` as appropriate:
155
+ Then set the delivery method in `config/environments/*.rb` as appropriate:
138
156
 
139
157
  config.action_mailer.delivery_method = :ses
140
158
 
@@ -162,8 +180,12 @@ It means that you are not running with SSL enabled in ruby. Re-compile ruby wit
162
180
  If you are receiving this message and you HAVE verified the [source] please <b>check to be sure you are not in sandbox mode!</b>
163
181
  "Email address is not verified.MessageRejected (AWS::Error)"
164
182
  If you have not been granted production access, you will have to <b>verify all recipients</b> as well.
165
-
166
- http://docs.amazonwebservices.com/ses/2010-12-01/DeveloperGuide/index.html?InitialSetup.Customer.html
183
+
184
+ To verify email addresses and domains:
185
+ https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html
186
+
187
+ To request production access:
188
+ https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html
167
189
 
168
190
  == Source
169
191
 
@@ -193,4 +215,4 @@ Special thanks to Marcel Molina Jr. for his creation of AWS::S3 which I used por
193
215
  * nathanbertram
194
216
  * sshaw
195
217
  * teeparham (documentation)
196
- * pzb
218
+ * pzb
data/Rakefile CHANGED
@@ -11,20 +11,6 @@ require 'rake'
11
11
 
12
12
  require 'erb'
13
13
 
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
- gem.name = "aws-ses"
18
- gem.homepage = "http://github.com/drewblas/aws-ses"
19
- gem.license = "MIT"
20
- gem.summary = %Q{Client library for Amazon's Simple Email Service's REST API}
21
- gem.description = gem.summary
22
- gem.email = "drew.blas@gmail.com"
23
- gem.authors = ["Drew Blas", 'Marcel Molina Jr.']
24
- # Do not add dependencies here because Jewler will add them from the Gemfile
25
- end
26
- Jeweler::RubygemsDotOrgTasks.new
27
-
28
14
  require 'rake/testtask'
29
15
  Rake::TestTask.new(:test) do |test|
30
16
  test.libs << 'lib' << 'test'
@@ -32,16 +18,16 @@ Rake::TestTask.new(:test) do |test|
32
18
  test.verbose = true
33
19
  end
34
20
 
35
- require 'rcov/rcovtask'
36
- Rcov::RcovTask.new do |test|
37
- test.libs << 'test'
38
- test.pattern = 'test/**/*_test.rb'
39
- test.verbose = true
40
- end
21
+ # require 'rcov/rcovtask'
22
+ # Rcov::RcovTask.new do |test|
23
+ # test.libs << 'test'
24
+ # test.pattern = 'test/**/*_test.rb'
25
+ # test.verbose = true
26
+ # end
41
27
 
42
28
  task :default => :test
43
29
 
44
- require 'rake/rdoctask'
30
+ require 'rdoc/task'
45
31
  require File.dirname(__FILE__) + '/lib/aws/ses'
46
32
 
47
33
  namespace :doc do
@@ -64,6 +50,7 @@ namespace :doc do
64
50
  system 'open doc/index.html'
65
51
  end
66
52
 
53
+ desc "Generate readme.rdoc from readme.erb"
67
54
  task :readme do
68
55
  require 'support/rdoc/code_info'
69
56
  RDoc::CodeInfo.parse('lib/**/*.rb')
@@ -80,3 +67,17 @@ namespace :doc do
80
67
  end
81
68
  end
82
69
  end
70
+
71
+ require 'jeweler'
72
+ Jeweler::Tasks.new do |gem|
73
+ # gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
74
+ gem.name = "aws-ses"
75
+ gem.homepage = "http://github.com/drewblas/aws-ses"
76
+ gem.license = "MIT"
77
+ gem.summary = "Client library for Amazon's Simple Email Service's REST API"
78
+ gem.description = "Client library for Amazon's Simple Email Service's REST API"
79
+ gem.email = "drew.blas@gmail.com"
80
+ gem.authors = ["Drew Blas", "Marcel Molina Jr."]
81
+ # dependencies defined in Gemfile
82
+ end
83
+ Jeweler::RubygemsDotOrgTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.3
1
+ 0.7.1
@@ -2,17 +2,20 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: aws-ses 0.7.1 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
- s.name = %q{aws-ses}
8
- s.version = "0.4.3"
8
+ s.name = "aws-ses".freeze
9
+ s.version = "0.7.1"
9
10
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Drew Blas", "Marcel Molina Jr."]
12
- s.date = %q{2011-06-23}
13
- s.description = %q{Client library for Amazon's Simple Email Service's REST API}
14
- s.email = %q{drew.blas@gmail.com}
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib".freeze]
13
+ s.authors = ["Drew Blas".freeze, "Marcel Molina Jr.".freeze]
14
+ s.date = "2020-09-30"
15
+ s.description = "Client library for Amazon's Simple Email Service's REST API".freeze
16
+ s.email = "drew.blas@gmail.com".freeze
15
17
  s.extra_rdoc_files = [
18
+ "CHANGELOG",
16
19
  "LICENSE",
17
20
  "README.erb",
18
21
  "README.rdoc",
@@ -49,57 +52,51 @@ Gem::Specification.new do |s|
49
52
  "test/response_test.rb",
50
53
  "test/send_email_test.rb"
51
54
  ]
52
- s.homepage = %q{http://github.com/drewblas/aws-ses}
53
- s.licenses = ["MIT"]
54
- s.require_paths = ["lib"]
55
- s.rubygems_version = %q{1.5.2}
56
- s.summary = %q{Client library for Amazon's Simple Email Service's REST API}
57
- s.test_files = [
58
- "test/address_test.rb",
59
- "test/base_test.rb",
60
- "test/extensions_test.rb",
61
- "test/fixtures.rb",
62
- "test/helper.rb",
63
- "test/info_test.rb",
64
- "test/mocks/fake_response.rb",
65
- "test/response_test.rb",
66
- "test/send_email_test.rb"
67
- ]
55
+ s.homepage = "http://github.com/drewblas/aws-ses".freeze
56
+ s.licenses = ["MIT".freeze]
57
+ s.rubygems_version = "2.5.2.3".freeze
58
+ s.summary = "Client library for Amazon's Simple Email Service's REST API".freeze
68
59
 
69
60
  if s.respond_to? :specification_version then
70
- s.specification_version = 3
61
+ s.specification_version = 4
71
62
 
72
63
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
73
- s.add_runtime_dependency(%q<xml-simple>, [">= 0"])
74
- s.add_runtime_dependency(%q<builder>, [">= 0"])
75
- s.add_runtime_dependency(%q<mime-types>, [">= 0"])
76
- s.add_runtime_dependency(%q<mail>, ["> 2.2.5"])
77
- s.add_development_dependency(%q<shoulda-context>, [">= 0"])
78
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
79
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
80
- s.add_development_dependency(%q<rcov>, [">= 0"])
81
- s.add_development_dependency(%q<flexmock>, ["~> 0.8.11"])
64
+ s.add_runtime_dependency(%q<builder>.freeze, [">= 0"])
65
+ s.add_runtime_dependency(%q<mail>.freeze, ["> 2.2.5"])
66
+ s.add_runtime_dependency(%q<mime-types>.freeze, [">= 0"])
67
+ s.add_runtime_dependency(%q<xml-simple>.freeze, [">= 0"])
68
+ s.add_development_dependency(%q<bundler>.freeze, [">= 1.17"])
69
+ s.add_development_dependency(%q<flexmock>.freeze, ["~> 0.8.11"])
70
+ s.add_development_dependency(%q<jeweler>.freeze, [">= 0"])
71
+ s.add_development_dependency(%q<rake>.freeze, [">= 0"])
72
+ s.add_development_dependency(%q<shoulda-context>.freeze, [">= 0"])
73
+ s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
74
+ s.add_development_dependency(%q<timecop>.freeze, [">= 0"])
82
75
  else
83
- s.add_dependency(%q<xml-simple>, [">= 0"])
84
- s.add_dependency(%q<builder>, [">= 0"])
85
- s.add_dependency(%q<mime-types>, [">= 0"])
86
- s.add_dependency(%q<mail>, ["> 2.2.5"])
87
- s.add_dependency(%q<shoulda-context>, [">= 0"])
88
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
89
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
90
- s.add_dependency(%q<rcov>, [">= 0"])
91
- s.add_dependency(%q<flexmock>, ["~> 0.8.11"])
76
+ s.add_dependency(%q<builder>.freeze, [">= 0"])
77
+ s.add_dependency(%q<mail>.freeze, ["> 2.2.5"])
78
+ s.add_dependency(%q<mime-types>.freeze, [">= 0"])
79
+ s.add_dependency(%q<xml-simple>.freeze, [">= 0"])
80
+ s.add_dependency(%q<bundler>.freeze, [">= 1.17"])
81
+ s.add_dependency(%q<flexmock>.freeze, ["~> 0.8.11"])
82
+ s.add_dependency(%q<jeweler>.freeze, [">= 0"])
83
+ s.add_dependency(%q<rake>.freeze, [">= 0"])
84
+ s.add_dependency(%q<shoulda-context>.freeze, [">= 0"])
85
+ s.add_dependency(%q<test-unit>.freeze, [">= 0"])
86
+ s.add_dependency(%q<timecop>.freeze, [">= 0"])
92
87
  end
93
88
  else
94
- s.add_dependency(%q<xml-simple>, [">= 0"])
95
- s.add_dependency(%q<builder>, [">= 0"])
96
- s.add_dependency(%q<mime-types>, [">= 0"])
97
- s.add_dependency(%q<mail>, ["> 2.2.5"])
98
- s.add_dependency(%q<shoulda-context>, [">= 0"])
99
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
100
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
101
- s.add_dependency(%q<rcov>, [">= 0"])
102
- s.add_dependency(%q<flexmock>, ["~> 0.8.11"])
89
+ s.add_dependency(%q<builder>.freeze, [">= 0"])
90
+ s.add_dependency(%q<mail>.freeze, ["> 2.2.5"])
91
+ s.add_dependency(%q<mime-types>.freeze, [">= 0"])
92
+ s.add_dependency(%q<xml-simple>.freeze, [">= 0"])
93
+ s.add_dependency(%q<bundler>.freeze, [">= 1.17"])
94
+ s.add_dependency(%q<flexmock>.freeze, ["~> 0.8.11"])
95
+ s.add_dependency(%q<jeweler>.freeze, [">= 0"])
96
+ s.add_dependency(%q<rake>.freeze, [">= 0"])
97
+ s.add_dependency(%q<shoulda-context>.freeze, [">= 0"])
98
+ s.add_dependency(%q<test-unit>.freeze, [">= 0"])
99
+ s.add_dependency(%q<timecop>.freeze, [">= 0"])
103
100
  end
104
101
  end
105
102