mailersend-actionmailer 0.0.1
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 +7 -0
- data/lib/mailersend-actionmailer.rb +1 -0
- data/lib/mailersend_actionmailer/railtie.rb +9 -0
- data/lib/mailersend_actionmailer.rb +61 -0
- metadata +73 -0
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: []
|