sendcloud-mailer 0.1.2 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 014e4a0ba58b96091774e0ec629f6d4a372659ce
4
- data.tar.gz: 552cd74b98e3682dbe775b10e56504845bc86757
2
+ SHA256:
3
+ metadata.gz: 5cfff98f00dba6a12c6e3ac4bfd358f9faa8d295e83178dd1780ed01fc7d98e7
4
+ data.tar.gz: 6b38b89f1fdd0ee64010ecef52170b4532da1ccd6ff37576335153677736128b
5
5
  SHA512:
6
- metadata.gz: 2ac0610941d92a4f2b689fe4b9764b6def7afcb3ec42c2bbdc3bff470a66f0e6b6852661a513e7281abd59cbe13f9e995ff07b4af8a3eda31f01d7c1dc9f9045
7
- data.tar.gz: 38d30942f6ac169db04c439e8500c58e226ed361059f787af0afca2fcb70be7db69c37eaf5cdb28c349cbf097707b76a70769b5a8d478920a8d519e8ed2777f4
6
+ metadata.gz: 6ee3729b9b6488b8a356f1d6b192b63b13d64612ef2f55d2c09c095ed32fd4697dd9683d47588ddd439a011ec7b9963554336ce1048fbf12fcc422000bbb80ea
7
+ data.tar.gz: 937c7c44b445e0d9d2a5d3a7447d4364fa578931010127d157046d11386dfeece6cfe7d1673bdef7630f18bf4b4a12cc2527020f9a7dc666050c60865d9bf3ef
data/CHANGELOG.md CHANGED
@@ -1,7 +1,16 @@
1
- # v0.1.2 / 2016-08-06
1
+ # Change Log
2
+ ## v0.2.0 / 2023-03-14
2
3
 
3
- Added label id.
4
+ ### Added
5
+ - content_type (#2)
4
6
 
5
- # v0.1.1 / 2016-03-20
7
+ ### Fixed
8
+ - addresses to support new version mail
6
9
 
10
+ ## v0.1.2 / 2016-08-06
11
+
12
+ ### Added
13
+ - label id
14
+
15
+ ## v0.1.1 / 2016-03-20
7
16
  Release project
data/README.md CHANGED
@@ -27,8 +27,8 @@ Set up delivery method and SendCloud settings in you rails config, eg. `config/e
27
27
  ```Ruby
28
28
  config.action_mailer.delivery_method = :sendcloud
29
29
  config.action_mailer.sendcloud_settings = {
30
- :api_user => 'USER',
31
- :api_key => 'KEY'
30
+ api_user: 'USER',
31
+ api_key: 'KEY'
32
32
  }
33
33
  ```
34
34
  If you use SMTP, you can add this interecptor to fix the problem that SendCloud does not accept <HTML> tag.
@@ -12,25 +12,29 @@ module SendcloudMailer
12
12
  @mail = mail
13
13
 
14
14
  params = {
15
- :apiUser => settings[:api_user],
16
- :apiKey => settings[:api_key],
17
- :from => from,
18
- :to => to,
19
- :cc => cc,
20
- :bcc => bcc,
21
- :subject => mail.subject,
22
- :html => html,
23
- :plain => plain,
24
- :attachments => attachments,
25
- :labelId => label_id
15
+ apiUser: settings[:api_user],
16
+ apiKey: settings[:api_key],
17
+ from: from,
18
+ to: to,
19
+ cc: cc,
20
+ bcc: bcc,
21
+ subject: mail.subject,
22
+ html: html,
23
+ plain: plain,
24
+ attachments: attachments,
25
+ labelId: label_id
26
26
  }
27
- params.delete_if { |k, v| v.nil? }
27
+ params.delete_if { |_k, v| v.nil? }
28
28
 
29
- result = RestClient.post( 'http://api.sendcloud.net/apiv2/mail/send', params )
29
+ result = RestClient.post('http://api.sendcloud.net/apiv2/mail/send', params)
30
30
  json = JSON.parse(result.force_encoding('UTF-8'))
31
- error(json) unless json["result"]
31
+ error(json) unless json['result']
32
32
  unless @file.nil?
33
- File.unlink(@file.path) rescue nil
33
+ begin
34
+ File.unlink(@file.path)
35
+ rescue StandardError
36
+ nil
37
+ end
34
38
  end
35
39
  end
36
40
 
@@ -41,7 +45,7 @@ module SendcloudMailer
41
45
  end
42
46
 
43
47
  def from
44
- @mail.header.fields.find{|f| f.name == "From"}.value
48
+ @mail.header.fields.find { |f| f.name == 'From' }.value
45
49
  end
46
50
 
47
51
  def to
@@ -59,23 +63,31 @@ module SendcloudMailer
59
63
  def addresses(name)
60
64
  result = @mail.header.fields.find { |f| f.name == name }
61
65
  unless result.nil?
62
- addresses = result.address_list.addresses
66
+ addresses = result.addresses
63
67
  addresses.join(';')
64
68
  end
65
69
  end
66
70
 
67
71
  def html
68
- @mail.html_part ? @mail.html_part.body.decoded : nil
72
+ if @mail.html_part
73
+ @mail.html_part.body.decoded
74
+ else
75
+ @mail.content_type =~ %r{text/html} ? @mail.body.decoded : nil
76
+ end
69
77
  end
70
78
 
71
79
  def plain
72
- @mail.multipart? ? (@mail.text_part ? @mail.text_part.body.decoded : nil) : @mail.body.decoded
80
+ if @mail.multipart?
81
+ @mail.text_part ? @mail.text_part.body.decoded : nil
82
+ else
83
+ @mail.content_type =~ %r{text/plain} ? @mail.body.decoded : nil
84
+ end
73
85
  end
74
86
 
75
87
  def attachments
76
88
  return nil if @mail.attachments.length == 0
77
89
 
78
- @mail.attachments.each do | attachment |
90
+ @mail.attachments.each do |attachment|
79
91
  filename = attachment.filename
80
92
  # sendcloud api can only single file
81
93
  @file = File.new(File.join(Dir.tmpdir, filename), 'w+b')
@@ -3,6 +3,7 @@ module SendcloudMailer
3
3
  def self.delivering_email(mail)
4
4
  html = mail.html_part ? mail.html_part.body.decoded : nil
5
5
  return if html.nil?
6
+
6
7
  html = Nokogiri::HTML(html)
7
8
  body = html.xpath('//body')[0]
8
9
  body.name = 'div'
@@ -1,3 +1,3 @@
1
1
  module SendcloudMailer
2
- VERSION = "0.1.2"
2
+ VERSION = '0.2.0'
3
3
  end
@@ -1,8 +1,8 @@
1
1
  require 'active_support/rescuable'
2
- require "action_mailer"
3
- require "sendcloud-mailer/version"
4
- require "sendcloud-mailer/base"
5
- require "sendcloud-mailer/interceptor"
2
+ require 'action_mailer'
3
+ require 'sendcloud-mailer/version'
4
+ require 'sendcloud-mailer/base'
5
+ require 'sendcloud-mailer/interceptor'
6
6
 
7
7
  module SendcloudMailer
8
8
  ActionMailer::Base.add_delivery_method :sendcloud, Base
@@ -18,10 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.require_paths = ["lib"]
19
19
 
20
20
  spec.add_dependency "actionmailer"
21
- spec.add_dependency "rest-client"
21
+ spec.add_dependency "rest-client", ">= 1.7.0"
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.10"
24
- spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "bundler", ">= 1.10"
24
+ spec.add_development_dependency "rake", ">= 10.0"
25
25
  spec.add_development_dependency "rspec"
26
26
  spec.add_development_dependency "webmock"
27
27
  spec.add_development_dependency "simplecov"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sendcloud-mailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chen, Yi-Cyuan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-06 00:00:00.000000000 Z
11
+ date: 2023-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer
@@ -30,40 +30,40 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 1.7.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 1.7.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.10'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.10'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '10.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '10.0'
69
69
  - !ruby/object:Gem::Dependency
@@ -148,7 +148,7 @@ homepage: https://github.com/emn178/sendcloud-mailer
148
148
  licenses:
149
149
  - MIT
150
150
  metadata: {}
151
- post_install_message:
151
+ post_install_message:
152
152
  rdoc_options: []
153
153
  require_paths:
154
154
  - lib
@@ -163,9 +163,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
163
  - !ruby/object:Gem::Version
164
164
  version: '0'
165
165
  requirements: []
166
- rubyforge_project:
167
- rubygems_version: 2.4.8
168
- signing_key:
166
+ rubygems_version: 3.1.6
167
+ signing_key:
169
168
  specification_version: 4
170
169
  summary: An Action Mailer delivery method for SendCloud email service.
171
170
  test_files: []