aliyun-email-ruby-sdk 0.0.1.2 → 0.0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e7dd84deeb6dd179960b99bdc66a24d922e85b28
4
- data.tar.gz: 1c4e43153e3082d1ba847da1b77d3a8711d9602f
3
+ metadata.gz: 7b5939d1169cbee54b9254b2a04baa498ba42cc5
4
+ data.tar.gz: d103f9e6c65e3416d24041599beb36df102cae6c
5
5
  SHA512:
6
- metadata.gz: 6c8e02ddbe404930ec84e8e3420589c0466f546b92abfbbedeb882f3c70fc35910198d77c84a5666769e56add5dc83521c5f3c633f9f4e1728ee44219ad33fb6
7
- data.tar.gz: c2f9c002eebfe17af5cfcc2176ad6f018d7621e82ca14f863974385a6b88043de12d4acc9da63eb36b1cd7657bc670ed29fc0a38ea10a2b916104a0dee757642
6
+ metadata.gz: 0e204bb3accda5eea35e11463172fb9e2446bc31e944bc11181df8d2d193caa15ddc65e10fcaff99d71811201b8da565963eb72c2161aa7020ac09f0a2857d61
7
+ data.tar.gz: 6072e8fd67e052b6637b071c4892a86b24cc2135596434c02476a4c710fa4623670326d043a1aa8d1cd639c511d7bde2eea30e212c55a57ed8ef1d4caaf3e243
data/README.md CHANGED
@@ -13,7 +13,13 @@ aliyun = Aliyun::Email.new(@config['access_key_id'],@config['access_key_secret']
13
13
  aliyun.send(@config['to_address'],
14
14
  from_alias: @config['from_alias'],
15
15
  subject: @config['subject'],
16
- htmlbody: @config['htmlbody'],
17
- textbody: @config['textbody'],
16
+ body: @config['textbody'],
17
+ click_trace: @config['click_trace'])
18
+
19
+ aliyun.send(@config['to_address'],
20
+ from_alias: @config['from_alias'],
21
+ subject: @config['subject'],
22
+ body: @config['htmlbody'],
23
+ format: :html,
18
24
  click_trace: @config['click_trace'])
19
25
  ```
@@ -9,16 +9,16 @@ include ERB::Util
9
9
  module Aliyun
10
10
  class Email
11
11
  attr_accessor :access_key_secret,
12
- :access_key_id,
13
- :action,
14
- :format,
15
- :region_id,
16
- :account_name,
17
- :signature_method,
18
- :reply_to_address,
19
- :address_type,
20
- :signature_version,
21
- :version
12
+ :access_key_id,
13
+ :action,
14
+ :format,
15
+ :region_id,
16
+ :account_name,
17
+ :signature_method,
18
+ :reply_to_address,
19
+ :address_type,
20
+ :signature_version,
21
+ :version
22
22
  def initialize(access_key_id, access_key_secret, account_name)
23
23
  # public args
24
24
  @access_key_secret = access_key_secret
@@ -39,26 +39,26 @@ module Aliyun
39
39
  def create_params(to_address)
40
40
  {
41
41
  # public args
42
- 'AccessKeyId' => access_key_id,
43
- 'Format' => format,
44
- 'RegionId' => region_id,
45
- 'SignatureMethod' => signature_method,
46
- 'SignatureVersion' => signature_version,
47
- 'Version' => version,
42
+ 'AccessKeyId' => access_key_id,
43
+ 'Format' => format,
44
+ 'RegionId' => region_id,
45
+ 'SignatureMethod' => signature_method,
46
+ 'SignatureVersion' => signature_version,
47
+ 'Version' => version,
48
48
 
49
- 'SignatureNonce' => seed_signature_nonce,
50
- 'Timestamp' => seed_timestamp,
49
+ 'SignatureNonce' => seed_signature_nonce,
50
+ 'Timestamp' => seed_timestamp,
51
51
 
52
52
  # function args
53
- 'Action' => action,
54
- 'AccountName' => account_name,
55
- 'ReplyToAddress' => reply_to_address,
56
- 'AddressType' => address_type,
57
- 'ToAddress' => to_address
53
+ 'Action' => action,
54
+ 'AccountName' => account_name,
55
+ 'ReplyToAddress' => reply_to_address,
56
+ 'AddressType' => address_type,
57
+ 'ToAddress' => to_address
58
58
  }
59
59
  end
60
60
 
61
- def send(to_address, from_alias: nil, subject: nil, htmlbody: nil, textbody: nil, click_trace: nil)
61
+ def send(to_address:, subject:, body:, from_alias: nil, click_trace: nil, format: :text)
62
62
  begin
63
63
  uri = URI("https://dm.aliyuncs.com")
64
64
  header = {"Content-Type": "application/x-www-form-urlencoded"}
@@ -68,8 +68,7 @@ module Aliyun
68
68
  params = create_params(to_address)
69
69
  params['FromAlias'] = from_alias unless from_alias.nil?
70
70
  params['Subject'] = subject unless subject.nil?
71
- params['HtmlBody'] = htmlbody unless htmlbody.nil?
72
- params['TextBody'] = textbody unless textbody.nil?
71
+ params[format == :text ? 'TextBody' : 'HtmlBody'] = body
73
72
  params['ClickTrace'] = click_trace unless click_trace.nil?
74
73
  req.body = sign_result(access_key_secret, params)
75
74
  response = http.request(req)
@@ -97,7 +96,7 @@ module Aliyun
97
96
  end
98
97
 
99
98
 
100
- def compute_signature access_key_secret,canonicalized_query_string
99
+ def compute_signature access_key_secret, canonicalized_query_string
101
100
  string_to_sign = 'POST' + '&' + safe_encode('/') + '&' + safe_encode(canonicalized_query_string)
102
101
  signature = calculate_signature access_key_secret+"&", string_to_sign
103
102
  end
@@ -107,8 +106,7 @@ module Aliyun
107
106
  end
108
107
 
109
108
  def safe_encode value
110
- URI.encode_www_form_component(value).gsub(/\+/,'%20').gsub(/\*/,'%2A').gsub(/%7E/,'~')
109
+ URI.encode_www_form_component(value).gsub(/\+/, '%20').gsub(/\*/, '%2A').gsub(/%7E/, '~')
111
110
  end
112
111
  end
113
- end
114
-
112
+ end
@@ -1,5 +1,5 @@
1
1
  module Aliyun
2
2
 
3
- VERSION = "0.0.1.2"
3
+ VERSION = "0.0.1.3"
4
4
 
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aliyun-email-ruby-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.2
4
+ version: 0.0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - xbw
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-18 00:00:00.000000000 Z
11
+ date: 2018-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -92,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
92
  version: '0'
93
93
  requirements: []
94
94
  rubyforge_project:
95
- rubygems_version: 2.6.11
95
+ rubygems_version: 2.6.14
96
96
  signing_key:
97
97
  specification_version: 4
98
98
  summary: Use aliyun-email to send email.