email-verification 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/email/verification/base.rb +16 -6
- data/lib/email/verification/gmail.rb +1 -1
- data/lib/email/verification/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd68753b7d1328e375501221b3341bc3742dbd4cc69ea5f061fd8be079f5ca12
|
4
|
+
data.tar.gz: 398c820a3ea4983a3fdc09bfc83c6ebadb27a5e619176b30a3865696f55cecf1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b4e9a4ff5f5e37e4ff943fc473f3a467fa79097dd36401c9f3d529e033ba85b01a28a0f66f17da7c2b346ffe8fca06a9a9384c5df207959fc6cb312fc09b8b4
|
7
|
+
data.tar.gz: b7d5476b7d3dae7999e979dc16cf963f9a1e1932474417fbac73341d0a78127583dc2e5a3fd283e090b18e60eecc148c43f1f824466eb87e19d40c39c2149fad
|
@@ -25,9 +25,10 @@ module Email
|
|
25
25
|
log("From: #{email.from&.first&.strip}. Subject: #{email.subject}")
|
26
26
|
|
27
27
|
if settings_provided?(settings)
|
28
|
-
|
28
|
+
matching_address = email.from&.first&.strip == settings[:address]
|
29
|
+
matching_subject = settings[:subject].nil? || (!settings[:subject].nil? && !(email.subject =~ settings[:subject]).nil?)
|
29
30
|
|
30
|
-
emails << email_body(email) if
|
31
|
+
emails << email_body(email) if matching_address && matching_subject
|
31
32
|
else
|
32
33
|
emails << email_body(email)
|
33
34
|
end
|
@@ -39,8 +40,8 @@ module Email
|
|
39
40
|
end
|
40
41
|
|
41
42
|
if settings_provided?(settings)
|
42
|
-
message = emails&.
|
43
|
-
|
43
|
+
message = emails.first&.to_s
|
44
|
+
result = message&.match(settings[:regex])&.[](:match)
|
44
45
|
else
|
45
46
|
result = emails
|
46
47
|
end
|
@@ -53,8 +54,17 @@ module Email
|
|
53
54
|
end
|
54
55
|
|
55
56
|
def email_body(email)
|
56
|
-
body = (email.html_part || email.text_part || email)&.body
|
57
|
-
|
57
|
+
body = (email.html_part || email.text_part || email)&.body
|
58
|
+
|
59
|
+
begin
|
60
|
+
body = body&.decoded
|
61
|
+
rescue Mail::UnknownEncodingType
|
62
|
+
body = body&.encoded
|
63
|
+
end
|
64
|
+
|
65
|
+
body = force_utf8(body) unless body.to_s.empty?
|
66
|
+
|
67
|
+
return body
|
58
68
|
end
|
59
69
|
|
60
70
|
def force_utf8(string)
|
@@ -15,7 +15,7 @@ module Email
|
|
15
15
|
|
16
16
|
if settings_provided?(settings)
|
17
17
|
matching_name = settings[:from].to_s.empty? || (!settings[:from].to_s.empty? && email.from.first.name == settings[:from])
|
18
|
-
matching_subject = settings[:subject].nil? || (!settings[:subject].nil? && email.subject =~ settings[:subject])
|
18
|
+
matching_subject = settings[:subject].nil? || (!settings[:subject].nil? && !(email.subject =~ settings[:subject]).nil?)
|
19
19
|
|
20
20
|
emails << email_body(email) if matching_name && matching_subject
|
21
21
|
else
|