mailersend-actionmailer 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: ac69dc6ca8acc82549ee9636f5c9ffe2b1c593d0bff7ea6f59b25e1256b18942
4
+ data.tar.gz: 956e435941776ff64a0c5e186c9ab5f68f7646ff6f03c869bcf30e2e1ee8ac15
5
+ SHA512:
6
+ metadata.gz: 2ea14a6702b8af7fd28e20d3acbffdba732110ecb277836cba846621e7e23ce8843494f187b19cca2ba434c4bd380d49280e202019d4d7a8c294f0c24c20fef3
7
+ data.tar.gz: b244ea4eed9496094efd37348abe84e4a5f53225353ee0d06c15b48d7edda59958d484cdf721573877c74c7de5d0491e37c2ceecc03c008d8c6cd8cc01e7c8d7
@@ -0,0 +1 @@
1
+ require "mailersend_actionmailer"
@@ -0,0 +1,9 @@
1
+ module MailerSendActionMailer
2
+ class Railtie < Rails::Railtie
3
+ initializer 'mailersend_actionmailer.add_delivery_method', before: 'action_mailer.set_configs' do
4
+ ActiveSupport.on_load(:action_mailer) do
5
+ ActionMailer::Base.add_delivery_method(:mailersend_actionmailer, MailerSendActionMailer::DeliveryMethod)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,61 @@
1
+ require 'mailersend-ruby'
2
+ require 'mailersend_actionmailer/railtie' if defined? Rails
3
+
4
+
5
+ module MailerSendActionMailer
6
+ class DeliveryMethod
7
+ DEFAULTS = {
8
+ }
9
+
10
+ attr_accessor :settings
11
+
12
+ class DeliveryError < StandardError
13
+ end
14
+
15
+ def initialize(values)
16
+ self.settings = self.class::DEFAULTS.merge(values)
17
+ raise ArgumentError, ":arguments expected to be an Array of individual string args" if settings[:arguments].is_a?(String)
18
+ end
19
+
20
+ def deliver!(mail)
21
+ email = Mailersend::Email.new
22
+
23
+ mail.from.each do |from|
24
+ email.add_from("email" => from)
25
+ end
26
+
27
+ mail.to.each do |to|
28
+ email.add_recipients("email" => to)
29
+ end
30
+
31
+ email.add_reply_to mail.reply_to
32
+ email.add_subject mail.subject
33
+
34
+ if mail.mime_type == "text/plain"
35
+ email.add_text mail.body.raw_source
36
+ else
37
+ email.add_html mail.body.raw_source
38
+ end
39
+
40
+ if mail.cc
41
+ mail.cc.each do |cc|
42
+ email.add_cc("email" => cc)
43
+ end
44
+ end
45
+
46
+ if mail.bcc
47
+ mail.bcc.each do |bcc|
48
+ email.add_bcc("email" => bcc)
49
+ end
50
+ end
51
+
52
+ if mail.attachments
53
+ mail.attachments.each do |attachment|
54
+ email.add_attachment attachment
55
+ end
56
+ end
57
+
58
+ email.send
59
+ end
60
+ end
61
+ end
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mailersend-actionmailer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - James Sherriff
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-07-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: mail
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.7'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: mailersend-ruby
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
41
+ description: An ActionMailer delivery method using the MailerSend Ruby SDK to send
42
+ emails with their API
43
+ email: james.sherriff@widgit.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - lib/mailersend-actionmailer.rb
49
+ - lib/mailersend_actionmailer.rb
50
+ - lib/mailersend_actionmailer/railtie.rb
51
+ homepage:
52
+ licenses: []
53
+ metadata: {}
54
+ post_install_message:
55
+ rdoc_options: []
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ requirements: []
69
+ rubygems_version: 3.3.7
70
+ signing_key:
71
+ specification_version: 4
72
+ summary: ActionMailer delivery method for MailerSend API
73
+ test_files: []