aws-ses 0.4.3 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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