deliverable 0.2.2 → 0.2.3
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/CHANGELOG.md +13 -0
- data/README.md +5 -5
- data/lib/deliverable/version.rb +1 -1
- metadata +11 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 60250f038ad565676e8ad01c172c65f259641cedaff5758565fa74681f2bebb3
|
|
4
|
+
data.tar.gz: 8b55f6cbccbc5bf220177d6f8966dc6880e9b6a0785ccfa1a8e3b08f3d9ba1ef
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c8262036e775b4cb29f74f32227fbfa7bb8bb468ed68e28559db38107f0d61a1eac0beb249966c601f6806919f8d39ac95bd90064e5db051795feafb4b0f0883
|
|
7
|
+
data.tar.gz: 012d41d320fa4a1252f51007fce60d6d25591e46074e130b07439863c1ba8dbc645255a299f8b76a06f1b41a0f887dc041c07f576b9f6569ddbf763ce9463ab3
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.3
|
|
4
|
+
|
|
5
|
+
- Metadata: `homepage_uri` pointed at the GitHub repo, the same place as
|
|
6
|
+
`source_code_uri`, so the two links RubyGems renders went to one
|
|
7
|
+
destination. It now points at https://peopledb.co.
|
|
8
|
+
- Fix: `changelog_uri` was built as `/blob/main/CHANGELOG.md` while the
|
|
9
|
+
default branch is `master`, so the Changelog link on RubyGems 404'd.
|
|
10
|
+
- Added `bug_tracker_uri`.
|
|
11
|
+
- Docs: the README's PeopleDB link now goes to the email verification API
|
|
12
|
+
page rather than the bare homepage.
|
|
13
|
+
|
|
14
|
+
No behaviour changes; this release is metadata and documentation only.
|
|
15
|
+
|
|
3
16
|
## 0.2.2
|
|
4
17
|
|
|
5
18
|
- Fix: when every SMTP port refused the connection on a non-problematic
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# deliverable
|
|
2
2
|
|
|
3
|
-
Honest email verification for Ruby. Tells you when an address is deliverable, when it's a fake, and
|
|
3
|
+
Honest email verification for Ruby. Tells you when an address is deliverable, when it's a fake, and, crucially, when it doesn't know.
|
|
4
4
|
|
|
5
5
|
```ruby
|
|
6
6
|
Deliverable.verify("ada@example.com")
|
|
@@ -25,7 +25,7 @@ Most email verification gems run a syntax regex, check for an MX record, optiona
|
|
|
25
25
|
- **Multi-port SMTP fallback.** Many mail servers reject port 25 from residential / cloud IPs but accept 587 or 465. `deliverable` tries `25 → 587 → 465` and only gives up when all three fail.
|
|
26
26
|
- **Catch-all detection.** A server that says yes to `ada@example.com` and *also* says yes to `definitely-does-not-exist-8482@example.com` isn't actually verifying anything. `deliverable` probes a fake address per domain and downgrades the result to `risky` when it catches one.
|
|
27
27
|
- **Problematic-server awareness.** Gmail, Outlook, Office 365, Mimecast, and Proofpoint actively defeat SMTP probing. Other gems return false positives or false negatives on these. `deliverable` recognises them and returns `risky` with `smtp_failed_assumption: true` instead of pretending to know.
|
|
28
|
-
- **Three-way classification.** `valid`, `risky`, `invalid
|
|
28
|
+
- **Three-way classification.** `valid`, `risky`, `invalid`, not a boolean. Risky is where the money is: it's the address that *might* bounce.
|
|
29
29
|
|
|
30
30
|
## Install
|
|
31
31
|
|
|
@@ -87,7 +87,7 @@ Exit codes:
|
|
|
87
87
|
|
|
88
88
|
## Sender identity
|
|
89
89
|
|
|
90
|
-
SMTP servers want to know who's asking. `deliverable` issues `EHLO sender_domain` and `MAIL FROM:<sender_email>` during the probe. There is no default
|
|
90
|
+
SMTP servers want to know who's asking. `deliverable` issues `EHLO sender_domain` and `MAIL FROM:<sender_email>` during the probe. There is no default: running an SMTP probe without configuring a sender raises `Deliverable::SenderNotConfigured`. Lying about your identity to a stranger's mail server tends to cause silent rejections, so the gem refuses to do it for you.
|
|
91
91
|
|
|
92
92
|
Configure once:
|
|
93
93
|
|
|
@@ -108,13 +108,13 @@ The CLI reads `DELIVERABLE_SENDER_EMAIL` and `DELIVERABLE_SENDER_DOMAIN` from th
|
|
|
108
108
|
|
|
109
109
|
## Notes on accuracy
|
|
110
110
|
|
|
111
|
-
SMTP verification is a probabilistic signal, not a guarantee. Servers can lie, greylist, or reject all probes from your IP regardless of recipient. `deliverable` returns `classification: "risky"` whenever it had to make an assumption
|
|
111
|
+
SMTP verification is a probabilistic signal, not a guarantee. Servers can lie, greylist, or reject all probes from your IP regardless of recipient. `deliverable` returns `classification: "risky"` whenever it had to make an assumption, which is the "I don't know" answer most other gems hide as `valid`.
|
|
112
112
|
|
|
113
113
|
If you're verifying at scale, expect to be IP-blocked by major providers (Gmail, Outlook). Either rotate sender IPs, accept that bulk gmail/outlook checks return `risky`, or use a paid API.
|
|
114
114
|
|
|
115
115
|
## When you outgrow this gem
|
|
116
116
|
|
|
117
|
-
`deliverable` is built and maintained by [PeopleDB](https://peopledb.co). If you need more than per-address SMTP probing
|
|
117
|
+
`deliverable` is built and maintained by [PeopleDB](https://peopledb.co). If you need more than per-address SMTP probing, such as bulk verification, deliverability data merged with profile information from multiple sources, or contact lookups by LinkedIn / GitHub identifier, the [PeopleDB email verification API](https://peopledb.co/email-verification-api) does that.
|
|
118
118
|
|
|
119
119
|
## License
|
|
120
120
|
|
data/lib/deliverable/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: deliverable
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Erik Strömberg
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: exe
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-09-24 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: valid_email2
|
|
@@ -59,7 +60,7 @@ dependencies:
|
|
|
59
60
|
version: '13.0'
|
|
60
61
|
description: Verifies whether an email address is actually deliverable. Multi-port
|
|
61
62
|
SMTP fallback, catch-all detection, and awareness of mail servers (Gmail, Outlook,
|
|
62
|
-
Mimecast) that block SMTP probing
|
|
63
|
+
Mimecast) that block SMTP probing, so it tells you when it doesn't know instead
|
|
63
64
|
of guessing.
|
|
64
65
|
email:
|
|
65
66
|
- erik@peopledb.co
|
|
@@ -76,13 +77,15 @@ files:
|
|
|
76
77
|
- lib/deliverable/result.rb
|
|
77
78
|
- lib/deliverable/verifier.rb
|
|
78
79
|
- lib/deliverable/version.rb
|
|
79
|
-
homepage: https://
|
|
80
|
+
homepage: https://peopledb.co
|
|
80
81
|
licenses:
|
|
81
82
|
- MIT
|
|
82
83
|
metadata:
|
|
83
|
-
homepage_uri: https://
|
|
84
|
+
homepage_uri: https://peopledb.co
|
|
84
85
|
source_code_uri: https://github.com/peopledb/deliverable
|
|
85
|
-
changelog_uri: https://github.com/peopledb/deliverable/blob/
|
|
86
|
+
changelog_uri: https://github.com/peopledb/deliverable/blob/master/CHANGELOG.md
|
|
87
|
+
bug_tracker_uri: https://github.com/peopledb/deliverable/issues
|
|
88
|
+
post_install_message:
|
|
86
89
|
rdoc_options: []
|
|
87
90
|
require_paths:
|
|
88
91
|
- lib
|
|
@@ -97,7 +100,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
97
100
|
- !ruby/object:Gem::Version
|
|
98
101
|
version: '0'
|
|
99
102
|
requirements: []
|
|
100
|
-
rubygems_version: 3.
|
|
103
|
+
rubygems_version: 3.5.22
|
|
104
|
+
signing_key:
|
|
101
105
|
specification_version: 4
|
|
102
106
|
summary: 'Honest email verification: syntax, MX, SMTP RCPT, and catch-all detection.'
|
|
103
107
|
test_files: []
|