emailist 0.0.12 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/emailist/version.rb +1 -1
- data/lib/emailist.rb +17 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af803bb2dda4fe80191c96fa40d8b2934fb7a959
|
4
|
+
data.tar.gz: 6ca0e667e90bc8638f42cab15c869a9e3d3de3dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5f960339fd5f79cf7d650e42d9e0ea616e38a214d95db1f25bf09a4bfbf0e1cc6f0dd42112cc8b248ae00c5c07ae99412a78903cd1cef379bf9ae9fc3f5f0cc
|
7
|
+
data.tar.gz: d18145f2984e557dc7699ed1e51402b4adaa90c57e359ecd38c6006dd0812791b8b4afe12b157dc481371487dec376c060c404ffc5762a4e9d4b5b87e601aa0b
|
data/lib/emailist/version.rb
CHANGED
data/lib/emailist.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require "resolv"
|
1
2
|
require "net/ping"
|
2
3
|
require "possible_email"
|
3
4
|
|
@@ -150,7 +151,21 @@ private
|
|
150
151
|
def host_alive?(email)
|
151
152
|
domain = email.split('@').last
|
152
153
|
|
153
|
-
|
154
|
+
return true if live_hosts.include?(domain)
|
155
|
+
return false if dead_hosts.include?(domain)
|
156
|
+
|
157
|
+
resolv = Resolv::DNS.new(
|
158
|
+
nameserver: ['8.8.8.8'],
|
159
|
+
search: [],
|
160
|
+
ndots: 1
|
161
|
+
)
|
162
|
+
ip_addr = begin
|
163
|
+
resolv.getaddress(domain)
|
164
|
+
rescue Resolv::ResolvError
|
165
|
+
end
|
166
|
+
dns_result = ip_addr ? true : false
|
167
|
+
|
168
|
+
ping_result = if live_hosts.include?(domain)
|
154
169
|
true
|
155
170
|
elsif dead_hosts.include?(domain)
|
156
171
|
false
|
@@ -158,6 +173,7 @@ private
|
|
158
173
|
Net::Ping::External.new(domain).ping?
|
159
174
|
end
|
160
175
|
|
176
|
+
result = (dns_result || ping_result)
|
161
177
|
if result
|
162
178
|
live_hosts.push(domain)
|
163
179
|
live_hosts.uniq!
|