mailhandler 1.0.22 → 1.0.23
Sign up to get free protection for your applications and to get access to all the features.
- 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
|