mailhandler 1.0.22 → 1.0.23
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/receiving/base.rb +1 -0
- data/lib/mailhandler/receiving/imap.rb +31 -1
- data/lib/mailhandler/receiving/mail.rb +0 -2
- data/lib/mailhandler/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5f8e335049c423ab5a7dd04516929263d3abe7a6
|
4
|
+
data.tar.gz: 44561c8ce6b1761f37ea3b59264d8d7368957983
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 680d8eaf89695cf7b3bffbbac7836f28add1142d86010f53e5adb9db4070a1a60c19736088a497a5bdc55f3e98bc93e6a109322f3cc361213cb43fb4ae7243f7
|
7
|
+
data.tar.gz: 16382ec35ecaf8044a55bb65d694217567c7c860487453895a4331f3594af735fe68a1da1c1b80787e43923ef1b765289527e686578bfc151a28d205ffb1ac6d
|
@@ -54,6 +54,13 @@ module MailHandler
|
|
54
54
|
|
55
55
|
end
|
56
56
|
|
57
|
+
def reconnect
|
58
|
+
|
59
|
+
mailer.disconnect
|
60
|
+
mailer.connect
|
61
|
+
|
62
|
+
end
|
63
|
+
|
57
64
|
def connect
|
58
65
|
|
59
66
|
mailer.connect
|
@@ -80,10 +87,13 @@ module MailHandler
|
|
80
87
|
:before,
|
81
88
|
:count,
|
82
89
|
:archive,
|
83
|
-
:by_recipient
|
90
|
+
:by_recipient,
|
91
|
+
:fast_check
|
84
92
|
|
85
93
|
]
|
86
94
|
|
95
|
+
RETRY_ON_ERROR_COUNT = 3
|
96
|
+
|
87
97
|
# delegate retrieval details to Mail library
|
88
98
|
def init_retriever
|
89
99
|
|
@@ -124,9 +134,29 @@ module MailHandler
|
|
124
134
|
|
125
135
|
def find_emails(options)
|
126
136
|
|
137
|
+
imap_search(RETRY_ON_ERROR_COUNT, options)
|
138
|
+
|
139
|
+
end
|
140
|
+
|
141
|
+
def imap_search(retry_count, options)
|
142
|
+
|
127
143
|
result = mailer.find(:what => :last, :count => search_options[:count], :order => :desc, :keys => imap_filter_keys(options), :delete_after_find => options[:archive])
|
128
144
|
(result.kind_of? Array)? result : [result]
|
129
145
|
|
146
|
+
rescue Net::IMAP::ResponseError => e
|
147
|
+
|
148
|
+
if (retry_count -=1) >= 0
|
149
|
+
|
150
|
+
puts e
|
151
|
+
reconnect
|
152
|
+
retry
|
153
|
+
|
154
|
+
else
|
155
|
+
|
156
|
+
raise e
|
157
|
+
|
158
|
+
end
|
159
|
+
|
130
160
|
end
|
131
161
|
|
132
162
|
def imap_filter_keys(options)
|
@@ -62,7 +62,6 @@ module Mail
|
|
62
62
|
# Start an IMAP session
|
63
63
|
def connect(config=Mail::Configuration.instance)
|
64
64
|
|
65
|
-
puts "connect"
|
66
65
|
@imap = Net::IMAP.new(settings[:address], settings[:port], settings[:enable_ssl], nil, false)
|
67
66
|
|
68
67
|
if settings[:authentication].nil?
|
@@ -77,7 +76,6 @@ module Mail
|
|
77
76
|
|
78
77
|
def disconnect
|
79
78
|
|
80
|
-
puts "disconnect"
|
81
79
|
if defined?(imap) && imap && !imap.disconnected?
|
82
80
|
|
83
81
|
imap.disconnect
|
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.23
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Balos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mail
|