mailersend-actionmailer 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|