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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6ffda69ae4a9be229a9071524a77f71a3b873748
4
- data.tar.gz: 6b28a918816ee5f8830529792066210b781321d2
3
+ metadata.gz: 5f8e335049c423ab5a7dd04516929263d3abe7a6
4
+ data.tar.gz: 44561c8ce6b1761f37ea3b59264d8d7368957983
5
5
  SHA512:
6
- metadata.gz: 836a3e85fe73ca400d881c44b1e520fabb78fdc63859ea98df4f7cfb8d7c34fa6188b911d3aa061e256749da63474723cb4a7fd2b4c59b5fff6a4a7708ea2bd9
7
- data.tar.gz: 13ad0ea77e75ce066cd71789343f01f49333d764e159921ea120374fcf55823a75e3742cab9bf6e7bfc1739e780d8943e441ce16b4cd644131f7945d04ec095d
6
+ metadata.gz: 680d8eaf89695cf7b3bffbbac7836f28add1142d86010f53e5adb9db4070a1a60c19736088a497a5bdc55f3e98bc93e6a109322f3cc361213cb43fb4ae7243f7
7
+ data.tar.gz: 16382ec35ecaf8044a55bb65d694217567c7c860487453895a4331f3594af735fe68a1da1c1b80787e43923ef1b765289527e686578bfc151a28d205ffb1ac6d
@@ -55,6 +55,7 @@ module MailHandler
55
55
  :by_subject,
56
56
  :by_content,
57
57
  :since,
58
+ :before,
58
59
  :by_recipient,
59
60
  :count,
60
61
  :archive,
@@ -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
@@ -1,5 +1,5 @@
1
1
  module MailHandler
2
2
 
3
- VERSION = '1.0.22'
3
+ VERSION = '1.0.23'
4
4
 
5
5
  end
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.22
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-03 00:00:00.000000000 Z
11
+ date: 2016-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mail