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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5707310fb2fd5f22483319b1c826265fab57c588577c55ea9d1a035fc1798819
4
- data.tar.gz: 221821a449e41fcef0bf7a6ed4628aae8b329377319bbafce912904f268ad662
3
+ metadata.gz: 60250f038ad565676e8ad01c172c65f259641cedaff5758565fa74681f2bebb3
4
+ data.tar.gz: 8b55f6cbccbc5bf220177d6f8966dc6880e9b6a0785ccfa1a8e3b08f3d9ba1ef
5
5
  SHA512:
6
- metadata.gz: 7a9078a8afc6269ac8ffd2b8f08ad3e2553d60ec6cbbedd11f9a4632dfb6fca6a1d37116ddf5f09af8992d33337c26105c749d6bafed471d29d1cd31a87a7b10
7
- data.tar.gz: 2d87ee0c900bc6582186d5d6ab2799e3ac08de8d1757e086414a1929636aa84e97c2c580f72f9508bb1de758e0dbd24393c470e9f08816c117ef1d54e4a2022f
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 — crucially — when it doesn't know.
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` — not a boolean. Risky is where the money is: it's the address that *might* bounce.
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 — 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.
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 — that's the "I don't know" answer most other gems hide as `valid`.
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 — bulk verification, deliverability data merged with profile information from multiple sources, or contact lookups by LinkedIn / GitHub identifier — the [PeopleDB API](https://peopledb.co) does that.
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
 
@@ -1,3 +1,3 @@
1
1
  module Deliverable
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
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.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: 1980-01-02 00:00:00.000000000 Z
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 — so it tells you when it doesn't know instead
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://github.com/peopledb/deliverable
80
+ homepage: https://peopledb.co
80
81
  licenses:
81
82
  - MIT
82
83
  metadata:
83
- homepage_uri: https://github.com/peopledb/deliverable
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/main/CHANGELOG.md
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.7.2
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: []