mailhandler 1.0.51 → 1.0.52
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 +4 -4
- data/lib/mailhandler.rb +59 -7
- data/lib/mailhandler/sending/api.rb +5 -2
- data/lib/mailhandler/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7a197abe40976a389b5ff18bec02184905627083f5e4c75f1822c5040845e29
|
4
|
+
data.tar.gz: cf09e5646d042c4ff3837827db41b08c0905f8d3563143258b381bfa1121ad36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47dc5ceb61e9f9239c98e4cacca9e840dfd0e659455ce5cee7e6a17f85f5a5f40e33d0b2da9428d32c456b77bd015fc9f12b4dac419c540dfc8f8281283b85f9
|
7
|
+
data.tar.gz: 3edc28dced7fe3dbba39964c157120fb1600a9c1662534beef6c98ebec54a1ccddd4f7ac08d2dd994f201e3214293ca86bbb74dffdc066aa7cbc13d145e77ea0
|
data/lib/mailhandler.rb
CHANGED
@@ -14,9 +14,32 @@ module MailHandler
|
|
14
14
|
|
15
15
|
# sending accessor
|
16
16
|
# @return [Object] - sender for sending emails
|
17
|
-
|
17
|
+
#
|
18
|
+
# Create a new sender by using code block:
|
19
|
+
#
|
20
|
+
# MailHandler.sender(:smtp) do |dispatcher|
|
21
|
+
# dispatcher.address = address
|
22
|
+
# dispatcher.port = port
|
23
|
+
# dispatcher.domain = domain
|
24
|
+
# dispatcher.username = username
|
25
|
+
# dispatcher.password = password
|
26
|
+
# dispatcher.use_ssl = use_ssl
|
27
|
+
# end
|
28
|
+
#
|
29
|
+
# or by passing a settings hash:
|
30
|
+
#
|
31
|
+
# MailHandler.sender(:smtp, {address: 'example.com', port: 25})
|
32
|
+
#
|
33
|
+
# or by combining blocks and settings hash.
|
34
|
+
#
|
35
|
+
def sender(type = :postmark_api, settings = {})
|
18
36
|
handler = Handler.new
|
19
37
|
handler.init_sender(type)
|
38
|
+
|
39
|
+
settings.each do |setting_name, setting_value|
|
40
|
+
handler.sender.dispatcher.instance_variable_set("@#{setting_name}", setting_value)
|
41
|
+
end
|
42
|
+
|
20
43
|
yield(handler.sender.dispatcher) if block_given?
|
21
44
|
|
22
45
|
handler.sender
|
@@ -24,11 +47,38 @@ module MailHandler
|
|
24
47
|
|
25
48
|
# receiving accessor
|
26
49
|
# @return [Object] - receiver for searching emails
|
27
|
-
|
50
|
+
#
|
51
|
+
# Create a new receiver by using code block:
|
52
|
+
#
|
53
|
+
# address = 'imap.example.com'
|
54
|
+
# port = 993
|
55
|
+
# username = 'john'
|
56
|
+
# password = 'xxxxxxxxxxxxxx'
|
57
|
+
# use_ssl = true
|
58
|
+
#
|
59
|
+
# email_receiver = MailHandler.receiver(:imap) do |checker|
|
60
|
+
# checker.address = address
|
61
|
+
# checker.port = port
|
62
|
+
# checker.username = username
|
63
|
+
# checker.password = password
|
64
|
+
# checker.use_ssl = use_ssl
|
65
|
+
# end
|
66
|
+
#
|
67
|
+
# or by passing a settings hash:
|
68
|
+
#
|
69
|
+
# email_receiver = MailHandler.receiver(:imap, {address: 'example.com', port: 993})
|
70
|
+
#
|
71
|
+
# or by combining blocks and settings hash.
|
72
|
+
#
|
73
|
+
def receiver(type = :folder, settings = {})
|
28
74
|
handler = Handler.new
|
29
|
-
handler.init_receiver(type, notifications)
|
30
|
-
|
75
|
+
handler.init_receiver(type, settings[:notifications])
|
76
|
+
|
77
|
+
settings.each do |setting_name, setting_value|
|
78
|
+
handler.receiver.checker.instance_variable_set("@#{setting_name}", setting_value)
|
79
|
+
end
|
31
80
|
|
81
|
+
yield(handler.receiver.checker) if block_given?
|
32
82
|
handler.receiver
|
33
83
|
end
|
34
84
|
|
@@ -53,9 +103,10 @@ module MailHandler
|
|
53
103
|
|
54
104
|
def init_receiver(type = :folder, notifications = [])
|
55
105
|
verify_type(type, CHECKER_TYPES)
|
56
|
-
|
57
|
-
|
58
|
-
|
106
|
+
receiver = MailHandler::Receiver.new(CHECKER_TYPES[type].new)
|
107
|
+
|
108
|
+
add_receiving_notifications(receiver, notifications)
|
109
|
+
@receiver = receiver
|
59
110
|
end
|
60
111
|
|
61
112
|
def handler(sender, receiver)
|
@@ -73,6 +124,7 @@ module MailHandler
|
|
73
124
|
# @param [Receiving::Object] receiver
|
74
125
|
# @param [Array<Receiving::Notification::Class>] notifications
|
75
126
|
def add_receiving_notifications(receiver, notifications)
|
127
|
+
return if notifications.nil?
|
76
128
|
return unless (notifications - NOTIFICATION_TYPES.keys).empty?
|
77
129
|
|
78
130
|
notifications.each { |n| receiver.add_observer(NOTIFICATION_TYPES[n].new) }
|
@@ -11,8 +11,7 @@ module MailHandler
|
|
11
11
|
:api_token,
|
12
12
|
:use_ssl,
|
13
13
|
:http_open_timeout,
|
14
|
-
:http_read_timeout
|
15
|
-
:client
|
14
|
+
:http_read_timeout
|
16
15
|
|
17
16
|
def initialize(api_token = nil)
|
18
17
|
@type = :postmark_api
|
@@ -31,6 +30,10 @@ module MailHandler
|
|
31
30
|
client.deliver_message(email)
|
32
31
|
end
|
33
32
|
|
33
|
+
def client
|
34
|
+
init_client
|
35
|
+
end
|
36
|
+
|
34
37
|
def init_client
|
35
38
|
@client = setup_sending_client
|
36
39
|
end
|
data/lib/mailhandler/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailhandler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.52
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Balos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mail
|
@@ -114,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
114
114
|
- !ruby/object:Gem::Version
|
115
115
|
version: 1.9.3
|
116
116
|
requirements: []
|
117
|
-
rubygems_version: 3.
|
117
|
+
rubygems_version: 3.1.2
|
118
118
|
signing_key:
|
119
119
|
specification_version: 4
|
120
120
|
summary: Postmark email receiving and sending handler.
|