konsierge-smtp-mailer 0.1.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ede22f1aecc54c9dbce7413cf80eb0b4dd798bed5337f3597d0ea1a0cc6f057
4
- data.tar.gz: a2cf8c55b3eb43877ce0370910e911f26603e36ebe021a37c3288b563a1392d5
3
+ metadata.gz: 129c298676f8519d4b56bf927bb0a79597dbba6a9d7a80a206fc394fc43b6380
4
+ data.tar.gz: 95941a1927bc9dcc4d46763db6ba938d9f762037d778e66d60577b51f8a9d34a
5
5
  SHA512:
6
- metadata.gz: 782840aed1910e479e2fe23ec2809ab21217b141d08fdba6ece2f3567361031d2418ae5c54ba601b91db7498cc0715419ca2328442da69edb4ec05dc2d21c68c
7
- data.tar.gz: 29894b799df43acf1567b4b108cecee07f5aeff73477d61529ee7b0e24e027c3354d05dc69106ddff2d06a5e6f1a595f24469caf32b4ebfa56642e36934ceb51
6
+ metadata.gz: 0f3242f2ddc167650b0587ea842ea647b37480fc1f3e662887aac52ed4fe81d81a0eccd86e530357d1338a7423a5fa9065d00de8a736b74d78bebda877e460db
7
+ data.tar.gz: dd9747ee28f94a2bd03ba08709d770c28656890557abd974e19b7da6112f1512da7d6921f5a1fa5d37fada93db5a678b943911fe063417e86a224ce6cdfba7c1
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
- ## [0.1.0] - 2021-11-01
1
+ ## [0.2.2] - 2021-11-16
2
+ - Fix empty body
3
+
4
+ ## [0.2.1] - 2021-11-03
5
+ - Fix attachments
6
+
7
+ ## [0.2.0] - 2021-11-03
8
+ - Added attachments support
9
+ - Improve body decoding
2
10
 
11
+ ## [0.1.2] - 2021-11-02
12
+ - Generator fixes
13
+
14
+ ## [0.1.1] - 2021-11-02
15
+ - Added generator
16
+
17
+ ## [0.1.0] - 2021-11-01
3
18
  - Initial release
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KonsiergeSmtpMailer
4
- VERSION = "0.1.1"
4
+ VERSION = "0.2.2"
5
5
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative 'konsierge-smtp-mailer/version'
4
4
  require_relative 'konsierge-smtp-mailer/config'
5
+ require 'fileutils'
5
6
 
6
7
  module KonsiergeSmtpMailer
7
8
  class ConfigError < StandardError; end
@@ -9,31 +10,52 @@ module KonsiergeSmtpMailer
9
10
 
10
11
  class Mailer
11
12
 
12
- def initialize(*args); end
13
-
14
- def deliver!(mail)
15
-
13
+ def initialize(*args)
16
14
  if KonsiergeSmtpMailer.config.smtp_mailer_host.nil? or KonsiergeSmtpMailer.config.smtp_mailer_auth_key.nil?
17
15
  raise ConfigError.new('Please provide config in initializers/konsierge-smtp-mailer.rb')
18
16
  end
17
+ @temp_dir = "./tmp/konsierge-smtp-mailer/#{SecureRandom.uuid}/"
18
+ @url = "#{KonsiergeSmtpMailer.config.smtp_mailer_host}/v1/message"
19
+ end
20
+
21
+ def deliver!(mail)
19
22
 
20
- url = "#{KonsiergeSmtpMailer.config.smtp_mailer_host}/v1/message"
21
23
  params = {
22
24
  subject: mail.subject,
23
- body: mail.body.to_s,
25
+ body: '',
24
26
  recipients: mail.to.as_json,
25
27
  cc: mail.cc.as_json,
26
- bcc: mail.bcc.as_json
28
+ bcc: mail.bcc.as_json,
29
+ attachments: []
27
30
  }
28
- RestClient.post(url, params.to_json, {
31
+
32
+ if mail.text_part.present?
33
+ params[:body] = mail.text_part.decode_body
34
+ elsif mail.html_part.present?
35
+ params[:body] = mail.html_part.decode_body
36
+ elsif mail.body.present?
37
+ params[:body] = mail.body.decoded
38
+ end
39
+
40
+ if mail.attachments.present?
41
+ FileUtils.mkdir_p @temp_dir unless File.exist? @temp_dir
42
+ mail.attachments.each do |attachment|
43
+ tmp_path = "#{@temp_dir}#{attachment.filename}"
44
+ File.open(tmp_path, 'wb') { |f| f.write(attachment.read) }
45
+ params[:attachments] << File.open(tmp_path, 'rb')
46
+ end
47
+ end
48
+
49
+ RestClient.post(@url, params, {
29
50
  Authorization: "Basic #{KonsiergeSmtpMailer.config.smtp_mailer_auth_key}",
30
- content_type: :json,
31
51
  accept: :json
32
52
  })
33
53
 
34
54
  rescue => e
35
55
  raise MailerError.new(e.message)
56
+ ensure
57
+ FileUtils.rm_rf(@temp_dir) if File.exist? @temp_dir
36
58
  end
37
- end
38
59
 
60
+ end
39
61
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: konsierge-smtp-mailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Digital Box Mobile
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-01 00:00:00.000000000 Z
11
+ date: 2021-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer
@@ -54,16 +54,16 @@ files:
54
54
  - bin/console
55
55
  - bin/setup
56
56
  - konsierge-smtp-mailer.gemspec
57
- - lib/generators/konsierge-smtp-mailer/install_generator.rb
58
- - lib/generators/konsierge-smtp-mailer/templates/README
59
- - lib/generators/konsierge-smtp-mailer/templates/initializer.rb
57
+ - lib/generators/konsierge_smtp_mailer/install_generator.rb
58
+ - lib/generators/konsierge_smtp_mailer/templates/README
59
+ - lib/generators/konsierge_smtp_mailer/templates/initializer.rb
60
60
  - lib/konsierge-smtp-mailer.rb
61
61
  - lib/konsierge-smtp-mailer/config.rb
62
62
  - lib/konsierge-smtp-mailer/version.rb
63
- homepage:
63
+ homepage:
64
64
  licenses: []
65
65
  metadata: {}
66
- post_install_message:
66
+ post_install_message:
67
67
  rdoc_options: []
68
68
  require_paths:
69
69
  - lib
@@ -78,8 +78,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
78
  - !ruby/object:Gem::Version
79
79
  version: '0'
80
80
  requirements: []
81
- rubygems_version: 3.1.6
82
- signing_key:
81
+ rubygems_version: 3.2.22
82
+ signing_key:
83
83
  specification_version: 4
84
84
  summary: Custom SMTP mailer.
85
85
  test_files: []