@mailgo-cli/mailgo 1.0.0 → 1.0.1

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.
Files changed (2) hide show
  1. package/README.md +174 -0
  2. package/package.json +2 -2
package/README.md ADDED
@@ -0,0 +1,174 @@
1
+ # mailgo
2
+
3
+ `mailgo` is a Go CLI tool that verifies whether an email address is deliverable by running syntax checks and a live SMTP handshake — giving you a clear verdict before you send.
4
+
5
+ <img src="_mailgo.png" alt="mailgo image visualization" height="300">
6
+
7
+ ---
8
+
9
+ ## Motivation
10
+
11
+ A friend of mine sends cold emails — a lot of them. He kept running into the same problem: a chunk of every list he built was dead weight — bad addresses, catch-all domains that silently swallow messages, and disposable inboxes that go nowhere. He was burning his sender reputation on addresses that were never going to convert.
12
+
13
+ I looked around for a simple tool he could run from the terminal before importing a list into his outreach tool. Everything I found was either a paid SaaS, a bloated library, or it only checked syntax. So I built `mailgo`: a single binary that does a real end-to-end check — SMTP handshake, catch-all detection, the works — and tells you exactly why an address is risky or undeliverable.
14
+
15
+ ---
16
+
17
+ ## How It Works
18
+
19
+ For every email address, `mailgo` runs a three-stage pipeline:
20
+
21
+ | Stage | Check | What It Catches |
22
+ |-------|-------|-----------------|
23
+ | 1 | **Syntax validation** | Malformed addresses |
24
+ | 2 | **SMTP handshake** | Mailboxes that don't exist |
25
+ | 3 | **Catch-all detection** | Servers that accept everything (unreliable) |
26
+
27
+ Every address gets one of four verdicts: `deliverable` · `undeliverable` · `risky` · `unknown`
28
+
29
+ ---
30
+
31
+ ## Quick Start
32
+
33
+ ### macOS — Homebrew
34
+
35
+ ```bash
36
+ brew tap Hrid-a/mailgo
37
+ brew install mailgo
38
+ ```
39
+
40
+ ### Windows — Scoop
41
+
42
+ ```bash
43
+ scoop bucket add mailgo https://github.com/Hrid-a/scoop-mailgo.git
44
+ scoop install mailgo
45
+ ```
46
+
47
+ ### Linux — install script
48
+
49
+ ```bash
50
+ curl -fsSL https://raw.githubusercontent.com/Hrid-a/mailgo/master/install.sh | sh
51
+ ```
52
+
53
+ ### npm
54
+
55
+ ```bash
56
+ npm install -g @mailgo-cli/mailgo
57
+ ```
58
+
59
+ ### Go install
60
+
61
+ ```bash
62
+ go install github.com/Hrid-a/mailgo@latest
63
+ ```
64
+
65
+ ### Pre-built binary
66
+
67
+ Download the archive for your platform from the [Releases page](https://github.com/Hrid-a/mailgo/releases), extract it, and place the binary on your `PATH`.
68
+
69
+ ### Verify it works
70
+
71
+ ```bash
72
+ mailgo verify user@example.com
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Usage
78
+
79
+ ### Flags
80
+
81
+ | Flag | Description |
82
+ |------|-------------|
83
+ | `--json` | Output results as JSON instead of plain text |
84
+ | `--output`, `-o` | Write results to a file (e.g. `results.json`) |
85
+
86
+ ### Single address
87
+
88
+ ```bash
89
+ $ mailgo verify someone@company.com
90
+
91
+ Email : someone@company.com
92
+ Domain : company.com
93
+ Valid : true
94
+ Status : deliverable
95
+ Host Exists : true
96
+ Catch-All : false
97
+ Deliverable : true
98
+ Full Inbox : false
99
+ Disabled : false
100
+ ```
101
+
102
+ ### JSON output
103
+
104
+ ```bash
105
+ $ mailgo verify someone@company.com --json
106
+ ```
107
+
108
+ ```json
109
+ {
110
+ "email": "someone@company.com",
111
+ "domain": "company.com",
112
+ "valid": true,
113
+ "status": "deliverable",
114
+ "smtp": {
115
+ "host_exists": true,
116
+ "catch_all": false,
117
+ "deliverable": true,
118
+ "full_inbox": false,
119
+ "disabled": false
120
+ }
121
+ }
122
+ ```
123
+
124
+ ### Bulk verification
125
+
126
+ Put one email per line in a `.txt` file, then:
127
+
128
+ ```bash
129
+ $ mailgo verify --file emails.txt --output results.json
130
+ ```
131
+
132
+ Results are written to `results.json`, one JSON object per address.
133
+
134
+ ### Verdicts
135
+
136
+ | Verdict | Meaning |
137
+ |---------|---------|
138
+ | `deliverable` | Mailbox exists and should receive mail |
139
+ | `undeliverable` | Bad syntax or SMTP rejected the address |
140
+ | `risky` | SMTP connected but RCPT TO was rejected — may be anti-harvesting policy, not a dead address |
141
+ | `unknown` | Catch-all domain or SMTP unreachable — can't confirm either way |
142
+
143
+ ---
144
+
145
+ ## Contributing
146
+
147
+ ### Clone the repo
148
+
149
+ ```bash
150
+ git clone https://github.com/Hrid-a/mailgo.git
151
+ cd mailgo
152
+ ```
153
+
154
+ ### Build the binary
155
+
156
+ ```bash
157
+ go build -o mailgo .
158
+ ```
159
+
160
+ ### Run the tests
161
+
162
+ ```bash
163
+ go test ./...
164
+ ```
165
+
166
+ ### Submit a pull request
167
+
168
+ Fork the repository and open a pull request to the `main` branch. If you hit a mail server that produces a false positive or unexpected result, opening an issue with the domain (redacted if needed) is also very helpful.
169
+
170
+ ---
171
+
172
+ ## License
173
+
174
+ MIT
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@mailgo-cli/mailgo",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Verify email deliverability via syntax checks and live SMTP handshake — catch bad addresses before you send",
5
5
  "bin": {
6
6
  "mailgo": "bin/mailgo"
7
7
  },
8
8
  "optionalDependencies": {
9
-
9
+ "@mailgo-cli/mailgo-darwin-arm64": "1.0.1","@mailgo-cli/mailgo-darwin-x64": "1.0.1","@mailgo-cli/mailgo-linux-arm64": "1.0.1","@mailgo-cli/mailgo-linux-x64": "1.0.1","@mailgo-cli/mailgo-win32-arm64": "1.0.1","@mailgo-cli/mailgo-win32-x64": "1.0.1"
10
10
  },
11
11
  "keywords": ["email", "smtp", "cli", "deliverability", "email-verification", "email-validation", "catch-all", "bulk-email", "mailbox", "go"],
12
12
  "author": "Hrid-a",