mxroute-cli 0.1.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 (81) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +464 -0
  3. package/dist/commands/accounts.d.ts +4 -0
  4. package/dist/commands/accounts.js +262 -0
  5. package/dist/commands/accounts.js.map +1 -0
  6. package/dist/commands/aliases.d.ts +3 -0
  7. package/dist/commands/aliases.js +190 -0
  8. package/dist/commands/aliases.js.map +1 -0
  9. package/dist/commands/auth.d.ts +3 -0
  10. package/dist/commands/auth.js +143 -0
  11. package/dist/commands/auth.js.map +1 -0
  12. package/dist/commands/autoresponder.d.ts +4 -0
  13. package/dist/commands/autoresponder.js +280 -0
  14. package/dist/commands/autoresponder.js.map +1 -0
  15. package/dist/commands/catchall.d.ts +2 -0
  16. package/dist/commands/catchall.js +173 -0
  17. package/dist/commands/catchall.js.map +1 -0
  18. package/dist/commands/config.d.ts +5 -0
  19. package/dist/commands/config.js +161 -0
  20. package/dist/commands/config.js.map +1 -0
  21. package/dist/commands/dns.d.ts +3 -0
  22. package/dist/commands/dns.js +160 -0
  23. package/dist/commands/dns.js.map +1 -0
  24. package/dist/commands/dnsapi.d.ts +4 -0
  25. package/dist/commands/dnsapi.js +397 -0
  26. package/dist/commands/dnsapi.js.map +1 -0
  27. package/dist/commands/domains.d.ts +2 -0
  28. package/dist/commands/domains.js +109 -0
  29. package/dist/commands/domains.js.map +1 -0
  30. package/dist/commands/filters.d.ts +3 -0
  31. package/dist/commands/filters.js +300 -0
  32. package/dist/commands/filters.js.map +1 -0
  33. package/dist/commands/forwarders.d.ts +3 -0
  34. package/dist/commands/forwarders.js +202 -0
  35. package/dist/commands/forwarders.js.map +1 -0
  36. package/dist/commands/info.d.ts +2 -0
  37. package/dist/commands/info.js +163 -0
  38. package/dist/commands/info.js.map +1 -0
  39. package/dist/commands/lists.d.ts +6 -0
  40. package/dist/commands/lists.js +372 -0
  41. package/dist/commands/lists.js.map +1 -0
  42. package/dist/commands/quota.d.ts +2 -0
  43. package/dist/commands/quota.js +184 -0
  44. package/dist/commands/quota.js.map +1 -0
  45. package/dist/commands/send.d.ts +9 -0
  46. package/dist/commands/send.js +107 -0
  47. package/dist/commands/send.js.map +1 -0
  48. package/dist/commands/setup.d.ts +1 -0
  49. package/dist/commands/setup.js +535 -0
  50. package/dist/commands/setup.js.map +1 -0
  51. package/dist/commands/spam.d.ts +4 -0
  52. package/dist/commands/spam.js +215 -0
  53. package/dist/commands/spam.js.map +1 -0
  54. package/dist/commands/status.d.ts +1 -0
  55. package/dist/commands/status.js +79 -0
  56. package/dist/commands/status.js.map +1 -0
  57. package/dist/commands/troubleshoot.d.ts +1 -0
  58. package/dist/commands/troubleshoot.js +324 -0
  59. package/dist/commands/troubleshoot.js.map +1 -0
  60. package/dist/index.d.ts +2 -0
  61. package/dist/index.js +589 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/mcp.d.ts +2 -0
  64. package/dist/mcp.js +599 -0
  65. package/dist/mcp.js.map +1 -0
  66. package/dist/utils/api.d.ts +15 -0
  67. package/dist/utils/api.js +30 -0
  68. package/dist/utils/api.js.map +1 -0
  69. package/dist/utils/config.d.ts +24 -0
  70. package/dist/utils/config.js +150 -0
  71. package/dist/utils/config.js.map +1 -0
  72. package/dist/utils/directadmin.d.ts +49 -0
  73. package/dist/utils/directadmin.js +444 -0
  74. package/dist/utils/directadmin.js.map +1 -0
  75. package/dist/utils/dns.d.ts +14 -0
  76. package/dist/utils/dns.js +284 -0
  77. package/dist/utils/dns.js.map +1 -0
  78. package/dist/utils/theme.d.ts +24 -0
  79. package/dist/utils/theme.js +95 -0
  80. package/dist/utils/theme.js.map +1 -0
  81. package/package.json +92 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,464 @@
1
+ # mxroute-cli
2
+
3
+ A powerful CLI for managing [MXroute](https://mxroute.com) email hosting -- full account management, DNS verification, email sending, spam configuration, troubleshooting, and more via the DirectAdmin API.
4
+
5
+ ```
6
+ __ ____ __ _
7
+ | \/ \ \/ /_ __ ___ _ _| |_ ___
8
+ | |\/| |\ /| '__/ _ \| | | | __/ _ \
9
+ | | | |/ \| | | (_) | |_| | || __/
10
+ |_| |_/_/\_\_| \___/ \__,_|\__\___|
11
+
12
+ Email Hosting Management CLI
13
+ ```
14
+
15
+ ## Features
16
+
17
+ - **Full account management** -- domains, email accounts, forwarders, autoresponders, mailing lists, domain aliases
18
+ - **DNS management** -- health checks (MX, SPF, DKIM, DMARC), record management via API, DKIM key retrieval, zone file generation
19
+ - **Email sending** -- send emails via MXroute's SMTP API with interactive composer or CLI flags
20
+ - **Spam control** -- SpamAssassin configuration, catch-all addresses, email filters
21
+ - **Quota monitoring** -- disk usage, bandwidth, account counts with visual progress bars
22
+ - **Troubleshooting** -- interactive wizard covering 10 common issue categories
23
+ - **Connection reference** -- IMAP/SMTP/POP3 ports, webmail URLs, CalDAV/CardDAV setup, client guides
24
+ - **Multi-profile support** -- manage multiple MXroute accounts from one CLI
25
+ - **Secure config** -- credentials stored with `0600` permissions in `~/.config/mxroute-cli/`
26
+
27
+ ## Install
28
+
29
+ ```bash
30
+ npm install -g mxroute-cli
31
+ ```
32
+
33
+ ## Quick Start
34
+
35
+ ```bash
36
+ # 1. Configure SMTP credentials (for sending email)
37
+ mxroute config setup
38
+
39
+ # 2. Authenticate with DirectAdmin API (for account management)
40
+ mxroute auth login
41
+
42
+ # 3. Check your DNS records
43
+ mxroute dns check
44
+
45
+ # 4. View full account status dashboard
46
+ mxroute status
47
+ ```
48
+
49
+ ### Getting Your Credentials
50
+
51
+ The CLI uses two types of credentials:
52
+
53
+ | Credential | Purpose | Where to find |
54
+ |---|---|---|
55
+ | **Server hostname** | Identifies your MXroute server | Control Panel (panel.mxroute.com) -> DNS section. Looks like `tuesday`, `fusion`, etc. |
56
+ | **Email + password** | SMTP API (sending email) | Your email account credentials (same as email client login) |
57
+ | **DirectAdmin username** | API authentication | Your DirectAdmin login username |
58
+ | **Login Key** | API authentication (recommended over password) | Control Panel -> Login Keys -> Create new key |
59
+
60
+ > **Why Login Keys?** They're more secure than passwords -- you can restrict permissions, set expiry dates, and revoke them without changing your password.
61
+
62
+ ---
63
+
64
+ ## Command Reference
65
+
66
+ ### Authentication
67
+
68
+ Authenticate with the DirectAdmin API to unlock account management commands.
69
+
70
+ ```bash
71
+ mxroute auth login # Interactive login with Login Key
72
+ mxroute auth status # Verify stored credentials are valid
73
+ mxroute auth logout # Remove stored credentials
74
+ ```
75
+
76
+ **Example:**
77
+ ```bash
78
+ $ mxroute auth login
79
+ ? Server hostname: fusion
80
+ ? DirectAdmin username: myuser
81
+ ? Login Key: ••••••••
82
+ ✔ Authentication successful!
83
+ ```
84
+
85
+ ### Configuration & Profiles
86
+
87
+ Configure SMTP credentials for sending email. Supports multiple profiles for managing different accounts.
88
+
89
+ ```bash
90
+ mxroute config setup # Interactive configuration wizard
91
+ mxroute config show # Show current active configuration
92
+ mxroute config profiles # List all saved profiles
93
+ mxroute config switch # Switch between profiles (interactive)
94
+ mxroute config switch work # Switch to a named profile
95
+ mxroute config delete # Delete a profile (interactive)
96
+ mxroute config delete old # Delete a named profile
97
+ ```
98
+
99
+ **Example -- multiple profiles:**
100
+ ```bash
101
+ $ mxroute config setup # Creates "default" profile
102
+ $ mxroute config setup # Enter "work" as profile name
103
+ $ mxroute config switch # Pick which profile to use
104
+ ```
105
+
106
+ ### Status Dashboard
107
+
108
+ Get a complete overview of your account in one command.
109
+
110
+ ```bash
111
+ mxroute status # Full dashboard: account info, DNS health, API test
112
+ mxroute # Same as status (default command)
113
+ ```
114
+
115
+ Shows: active profile, server, account, domain, DNS health scores for MX/SPF/DKIM/DMARC/CNAME, and SMTP API connectivity test.
116
+
117
+ ---
118
+
119
+ ### Domains
120
+
121
+ List and inspect domains on your MXroute account.
122
+
123
+ ```bash
124
+ mxroute domains list # List all domains with alias counts
125
+ mxroute domains info # Show details for configured domain
126
+ mxroute domains info example.com # Show details for specific domain
127
+ ```
128
+
129
+ ### Email Accounts
130
+
131
+ Create, list, delete, and manage passwords for email accounts.
132
+
133
+ ```bash
134
+ mxroute accounts list # List accounts (prompts for domain if multiple)
135
+ mxroute accounts list example.com # List accounts for specific domain
136
+ mxroute accounts create # Interactive account creation
137
+ mxroute accounts create example.com # Create account on specific domain
138
+ mxroute accounts delete example.com # Delete an account (picks from list)
139
+ mxroute accounts passwd example.com # Change password (picks from list)
140
+ ```
141
+
142
+ Aliases: `accounts add` = `accounts create`, `accounts rm` = `accounts delete`, `accounts password` = `accounts passwd`
143
+
144
+ **Example -- creating an account:**
145
+ ```bash
146
+ $ mxroute accounts create example.com
147
+ ? Username (before @example.com): info
148
+ ? Password: ••••••••
149
+ ? Confirm password: ••••••••
150
+ ? Quota in MB (0 = unlimited): 0
151
+ ? Create info@example.com? Yes
152
+ ✔ Created info@example.com
153
+ ```
154
+
155
+ ### Email Forwarders
156
+
157
+ Redirect email from one address to another.
158
+
159
+ ```bash
160
+ mxroute forwarders list [domain] # List all forwarders
161
+ mxroute forwarders create [domain] # Create a forwarder (interactive)
162
+ mxroute forwarders delete [domain] # Delete a forwarder (picks from list)
163
+ ```
164
+
165
+ Aliases: `fwd list`, `fwd create`, `fwd delete`; `forwarders add`, `forwarders rm`
166
+
167
+ ### Autoresponders / Vacation Messages
168
+
169
+ Set up automatic replies for email accounts (e.g., "I'm out of office").
170
+
171
+ ```bash
172
+ mxroute autoresponder list [domain] # List all autoresponders
173
+ mxroute autoresponder create [domain] # Create autoresponder (picks account, opens editor)
174
+ mxroute autoresponder edit [domain] # Edit existing autoresponder message
175
+ mxroute autoresponder delete [domain] # Delete an autoresponder
176
+ ```
177
+
178
+ Aliases: `vacation list`, `vacation create`, `vacation edit`, `vacation delete`
179
+
180
+ ### Catch-All / Default Address
181
+
182
+ Control what happens to email sent to non-existent addresses on your domain.
183
+
184
+ ```bash
185
+ mxroute catchall get [domain] # Show current catch-all setting
186
+ mxroute catchall set [domain] # Configure catch-all (interactive)
187
+ ```
188
+
189
+ **Catch-all options:**
190
+ - **Forward to existing account** -- picks from your email accounts
191
+ - **Forward to custom email** -- any external address
192
+ - **Reject** (`:fail:`) -- bounce back to sender
193
+ - **Disable** (`:blackhole:`) -- silently discard
194
+
195
+ ### SpamAssassin
196
+
197
+ Configure server-side spam filtering per domain.
198
+
199
+ ```bash
200
+ mxroute spam status [domain] # Show current SpamAssassin config
201
+ mxroute spam enable [domain] # Enable with defaults (score 5, spam folder)
202
+ mxroute spam disable [domain] # Disable SpamAssassin
203
+ mxroute spam config [domain] # Interactive configuration wizard
204
+ ```
205
+
206
+ Aliases: `spam on` = `spam enable`, `spam off` = `spam disable`, `spam show` = `spam status`
207
+
208
+ **`spam config` options:**
209
+ - **Required score** (1-10) -- lower = more aggressive filtering
210
+ - **Spam delivery** -- move to spam folder, leave in inbox, or delete
211
+ - **High score threshold** -- separate action for very high scoring spam
212
+ - **High score action** -- what to do with high-scoring spam
213
+
214
+ > **Note:** MXroute also has "Expert Spam Filtering" which is separate from SpamAssassin. Manage it at Management Panel -> Spam Filters.
215
+
216
+ ### Email Filters
217
+
218
+ Create per-account email filtering rules (server-side).
219
+
220
+ ```bash
221
+ mxroute filters list [domain] # List filters (picks account)
222
+ mxroute filters create [domain] # Create a filter (interactive)
223
+ mxroute filters delete [domain] # Delete a filter (picks from list)
224
+ ```
225
+
226
+ **Filter options:**
227
+ - **Match field**: from, to, subject, body
228
+ - **Match type**: contains, equals, starts with, ends with
229
+ - **Actions**: discard, forward to address, move to folder
230
+
231
+ ### Mailing Lists
232
+
233
+ Create and manage mailing lists for group communication.
234
+
235
+ ```bash
236
+ mxroute lists list [domain] # List all mailing lists
237
+ mxroute lists create [domain] # Create a new mailing list
238
+ mxroute lists delete [domain] # Delete a mailing list
239
+ mxroute lists members [domain] # Show members of a list
240
+ mxroute lists add-member [domain] # Add a member to a list
241
+ mxroute lists remove-member [domain] # Remove a member from a list
242
+ ```
243
+
244
+ Aliases: `mailinglist list`, `lists ls`, `lists add`, `lists rm`
245
+
246
+ ### Domain Aliases / Pointers
247
+
248
+ Make one domain share all email accounts with another domain.
249
+
250
+ ```bash
251
+ mxroute aliases list [domain] # List domain aliases/pointers
252
+ mxroute aliases add [domain] # Add a domain alias
253
+ mxroute aliases remove [domain] # Remove a domain alias
254
+ ```
255
+
256
+ > **How aliases work:** If `primary.com` has `user@primary.com`, adding `alias.com` as a pointer means `user@alias.com` will also work -- all accounts are shared.
257
+
258
+ ### Quota & Usage
259
+
260
+ Monitor disk usage, bandwidth, and resource limits.
261
+
262
+ ```bash
263
+ mxroute quota # Account-wide usage overview with progress bars
264
+ mxroute quota-set [domain] # Set quota for a specific email account
265
+ ```
266
+
267
+ **Example output:**
268
+ ```
269
+ ┌─ Resource Usage ─────────────────────────────────────────────┐
270
+ │ Disk Usage 3.19MB / 100.0GB [--------------------] 0% │
271
+ │ Bandwidth 1.26MB / unlimited │
272
+ │ Email Accounts 12 / unlimited │
273
+ │ Domains 3 / unlimited │
274
+ │ Forwarders 1 / unlimited │
275
+ └──────────────────────────────────────────────────────────────────┘
276
+ ```
277
+
278
+ ---
279
+
280
+ ### DNS Management
281
+
282
+ Two approaches to DNS: **health checks** (read-only, queries public DNS) and **record management** (read/write, via DirectAdmin API).
283
+
284
+ #### DNS Health Check
285
+
286
+ Verify your domain's DNS records are correctly configured for MXroute by querying public DNS servers.
287
+
288
+ ```bash
289
+ mxroute dns check # Check configured domain
290
+ mxroute dns check example.com # Check specific domain
291
+ mxroute dns records # Show required DNS records for your server
292
+ mxroute dns records example.com # Show for specific domain
293
+ mxroute dns generate # Generate zone file (picks DNS provider)
294
+ mxroute dns generate example.com # Generate for specific domain
295
+ ```
296
+
297
+ **What `dns check` verifies:**
298
+ - **MX** -- primary and relay records pointing to your MXroute server
299
+ - **SPF** -- `v=spf1 include:mxroute.com -all` present, single record, hard fail
300
+ - **DKIM** -- `x._domainkey` TXT record with valid DKIM1 key
301
+ - **DMARC** -- `_dmarc` TXT record with quarantine or reject policy
302
+ - **CNAME** -- custom hostnames for mail/webmail (optional)
303
+
304
+ **`dns generate` supports:**
305
+ - Cloudflare (with proxy-off warning)
306
+ - Namecheap
307
+ - Route53 / AWS (with quoting notes)
308
+ - Generic / other providers
309
+
310
+ #### DNS Records (via DirectAdmin API)
311
+
312
+ Manage DNS records directly on your MXroute server. Requires authentication (`mxroute auth login`).
313
+
314
+ ```bash
315
+ mxroute dnsrecords list [domain] # List all DNS records from server
316
+ mxroute dnsrecords add [domain] # Add a record (A, AAAA, CNAME, MX, TXT, SRV)
317
+ mxroute dnsrecords delete [domain] # Delete a DNS record
318
+ mxroute dnsrecords dkim [domain] # Retrieve the full DKIM key for your domain
319
+ ```
320
+
321
+ Aliases: `dnsapi list`, `dnsapi add`, etc.
322
+
323
+ ---
324
+
325
+ ### Send Email
326
+
327
+ Send email via MXroute's SMTP API. Requires SMTP configuration (`mxroute config setup`).
328
+
329
+ ```bash
330
+ mxroute send # Interactive composer (opens editor for body)
331
+ mxroute send -t user@example.com -s "Subject" -b "Body text" # Send with flags
332
+ mxroute send -t user@example.com -s "Hi" --html -b "<h1>Hello</h1>" # HTML body
333
+ mxroute send -f alias@example.com -t user@example.com -s "Hi" -b "Body" # Custom from
334
+ mxroute test # Send a test email to yourself
335
+ ```
336
+
337
+ **Options:**
338
+ | Flag | Description |
339
+ |---|---|
340
+ | `-t, --to <email>` | Recipient email address |
341
+ | `-s, --subject <text>` | Email subject line |
342
+ | `-b, --body <text>` | Email body content |
343
+ | `-f, --from <email>` | Sender address (defaults to configured username) |
344
+ | `--html` | Treat body as raw HTML (otherwise auto-wrapped) |
345
+
346
+ **SMTP API limitations:**
347
+ - 400 emails per hour per email address
348
+ - Single recipient per request
349
+ - No file attachments
350
+ - Body size limit ~10MB
351
+ - Marketing/promotional email is prohibited
352
+
353
+ ### Connection Info
354
+
355
+ Quick reference for email client settings, webmail URLs, and service details.
356
+
357
+ ```bash
358
+ mxroute info connections # IMAP/SMTP/POP3 ports table
359
+ mxroute info webmail # Webmail URLs (Crossbox, Roundcube)
360
+ mxroute info caldav # CalDAV/CardDAV server and setup guides
361
+ mxroute info api # SMTP API endpoint, fields, and limits
362
+ mxroute info limits # Service limits and policies
363
+ mxroute info panels # Management and Control Panel URLs
364
+ mxroute info all # Everything at once
365
+ ```
366
+
367
+ **Email client setup guides:**
368
+ ```bash
369
+ mxroute info client ios # Apple Mail (iPhone/iPad)
370
+ mxroute info client outlook # Microsoft Outlook
371
+ mxroute info client thunderbird # Mozilla Thunderbird
372
+ mxroute info client generic # Generic IMAP/SMTP settings
373
+ ```
374
+
375
+ **Connection settings reference:**
376
+
377
+ | Protocol | Port | Encryption | Recommended |
378
+ |---|---|---|---|
379
+ | IMAP | 993 | SSL/TLS | Yes |
380
+ | IMAP | 143 | STARTTLS | Alternative |
381
+ | POP3 | 995 | SSL/TLS | Yes |
382
+ | POP3 | 110 | STARTTLS | Alternative |
383
+ | SMTP | 465 | SSL/TLS | Yes |
384
+ | SMTP | 587 | STARTTLS | Alternative |
385
+ | SMTP | 2525 | STARTTLS | If 587 blocked |
386
+
387
+ ### Troubleshooting
388
+
389
+ Interactive troubleshooting wizard that walks you through diagnosing and fixing common issues.
390
+
391
+ ```bash
392
+ mxroute troubleshoot # Launch interactive wizard
393
+ mxroute diagnose # Alias
394
+ ```
395
+
396
+ **Covers 10 issue categories:**
397
+ 1. **Emails going to spam (Gmail)** -- mail-tester, DNS checks, filter training, Postmaster Tools
398
+ 2. **Emails going to spam (Microsoft)** -- Microsoft-specific steps, SNDS reputation
399
+ 3. **Cannot connect to server** -- ports, firewall, ISP blocking, live connection test
400
+ 4. **Authentication failures** -- username format, password reset, encryption settings
401
+ 5. **Emails not being delivered** -- DNS check, sender verification, bounce analysis
402
+ 6. **DNS configuration issues** -- common mistakes checklist, live DNS check
403
+ 7. **SSL certificate warnings** -- CNAME setup, certificate request steps
404
+ 8. **Common error messages** -- 550 Auth Required, Sender Verify Failed, 5.7.515, etc.
405
+ 9. **Migration issues** -- imapsync command, step-by-step migration guide
406
+ 10. **Spam filter blocking legitimate mail** -- whitelist requests, filter toggle
407
+
408
+ ---
409
+
410
+ ## Configuration
411
+
412
+ ### Config file
413
+
414
+ Configuration is stored at `~/.config/mxroute-cli/config.json` with file permissions `0600` (owner-only read/write).
415
+
416
+ ```bash
417
+ mxroute config show # View current config (passwords masked)
418
+ ```
419
+
420
+ ### Two credential types
421
+
422
+ | Type | Used for | Command | Required for |
423
+ |---|---|---|---|
424
+ | **SMTP credentials** | Sending email | `mxroute config setup` | `send`, `test` |
425
+ | **DirectAdmin Login Key** | Account management | `mxroute auth login` | `domains`, `accounts`, `forwarders`, `autoresponder`, `catchall`, `spam`, `dnsrecords`, `filters`, `lists`, `aliases`, `quota` |
426
+
427
+ Commands that only read public DNS (`dns check`, `dns records`, `dns generate`) and display static info (`info`, `troubleshoot`) work without any credentials -- just a server name.
428
+
429
+ ### Multiple profiles
430
+
431
+ Manage different MXroute accounts from one CLI:
432
+
433
+ ```bash
434
+ # Create profiles
435
+ mxroute config setup # First run creates "default" profile
436
+ mxroute config setup # Enter "work" as profile name for second
437
+
438
+ # Switch between them
439
+ mxroute config switch # Interactive picker
440
+ mxroute config switch work # Switch by name
441
+ mxroute config profiles # List all profiles
442
+
443
+ # Delete a profile
444
+ mxroute config delete old # Delete by name
445
+ ```
446
+
447
+ ---
448
+
449
+ ## MXroute Panels
450
+
451
+ | Panel | URL | Purpose |
452
+ |---|---|---|
453
+ | **Management Panel** | https://management.mxroute.com | Subscriptions, invoices, payment, support tickets |
454
+ | **Control Panel** | https://panel.mxroute.com | Email accounts, forwarders, domains, DNS, spam, webmail |
455
+ | **Whitelist Request** | https://whitelistrequest.mxrouting.net | Request IP/domain whitelist for spam filter |
456
+
457
+ ## Requirements
458
+
459
+ - Node.js >= 18
460
+ - An [MXroute](https://mxroute.com) email hosting account
461
+
462
+ ## License
463
+
464
+ MIT
@@ -0,0 +1,4 @@
1
+ export declare function accountsList(domain?: string): Promise<void>;
2
+ export declare function accountsCreate(domain?: string): Promise<void>;
3
+ export declare function accountsDelete(domain?: string): Promise<void>;
4
+ export declare function accountsPasswd(domain?: string): Promise<void>;