@astralibx/email-account-manager 10.6.0 → 10.6.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.
- package/README.md +20 -20
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -75,17 +75,17 @@ app.listen(3000);
|
|
|
75
75
|
|
|
76
76
|
## Features
|
|
77
77
|
|
|
78
|
-
- **Multi-account management** -- Gmail and AWS SES providers with credential storage, status tracking, and freeform metadata. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
79
|
-
- **Health tracking** -- Automatic scoring (+1/-5/-10) with auto-disable on threshold breach. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
80
|
-
- **Account warmup** -- Phased volume ramp-up with configurable schedules stored per-account. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
81
|
-
- **Capacity-based rotation** -- Health-weighted account selection with daily limit enforcement. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
82
|
-
- **Reliable sending** -- BullMQ queues with retries, dev mode redirect, and per-account SMTP. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
83
|
-
- **Draft approval workflow** -- Create, review, approve/reject, bulk operations, send window spread. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
84
|
-
- **Unsubscribe handling** -- HMAC tokens, styled confirmation page, RFC 8058 one-click support. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
85
|
-
- **SES webhooks** -- SNS signature verification, bounce/complaint/delivery/open/click processing. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
86
|
-
- **IMAP bounce detection** -- Gmail IMAP polling with bounce classification. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
87
|
-
- **Global settings** -- Runtime-adjustable config stored in MongoDB with in-memory caching. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
88
|
-
- **Error classes** -- Typed errors with codes for every failure scenario. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
78
|
+
- **Multi-account management** -- Gmail and AWS SES providers with credential storage, status tracking, and freeform metadata. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/account-management.md)
|
|
79
|
+
- **Health tracking** -- Automatic scoring (+1/-5/-10) with auto-disable on threshold breach. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/health-tracking.md)
|
|
80
|
+
- **Account warmup** -- Phased volume ramp-up with configurable schedules stored per-account. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/warmup-system.md)
|
|
81
|
+
- **Capacity-based rotation** -- Health-weighted account selection with daily limit enforcement. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/capacity-selection.md)
|
|
82
|
+
- **Reliable sending** -- BullMQ queues with retries, dev mode redirect, and per-account SMTP. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/email-sending.md)
|
|
83
|
+
- **Draft approval workflow** -- Create, review, approve/reject, bulk operations, send window spread. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/draft-approval.md)
|
|
84
|
+
- **Unsubscribe handling** -- HMAC tokens, styled confirmation page, RFC 8058 one-click support. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/unsubscribe.md)
|
|
85
|
+
- **SES webhooks** -- SNS signature verification, bounce/complaint/delivery/open/click processing. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/ses-webhooks.md)
|
|
86
|
+
- **IMAP bounce detection** -- Gmail IMAP polling with bounce classification. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/imap-bounce-checking.md)
|
|
87
|
+
- **Global settings** -- Runtime-adjustable config stored in MongoDB with in-memory caching. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/global-settings.md)
|
|
88
|
+
- **Error classes** -- Typed errors with codes for every failure scenario. [Details](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/error-handling.md)
|
|
89
89
|
|
|
90
90
|
## Architecture
|
|
91
91
|
|
|
@@ -97,20 +97,20 @@ The library exposes three Express routers from a single factory call:
|
|
|
97
97
|
| `eam.webhookRoutes.ses` | SES/SNS event receiver | Public (SNS signature verified) |
|
|
98
98
|
| `eam.unsubscribeRoutes` | Unsubscribe confirmation pages | Public |
|
|
99
99
|
|
|
100
|
-
All services are also available programmatically via the returned `eam` object. See [Programmatic API](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
100
|
+
All services are also available programmatically via the returned `eam` object. See [Programmatic API](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/programmatic-api.md).
|
|
101
101
|
|
|
102
102
|
## Getting Started Guide
|
|
103
103
|
|
|
104
|
-
1. [Configuration](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
105
|
-
2. [Account Management](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
106
|
-
3. [Warmup System](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
107
|
-
4. [Health Tracking](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
108
|
-
5. [Email Sending](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
109
|
-
6. [Global Settings](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
104
|
+
1. [Configuration](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/configuration.md) — Set up database, Redis, queues, and hooks
|
|
105
|
+
2. [Account Management](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/account-management.md) — Create and manage email accounts (see [default values](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/account-management.md#default-values))
|
|
106
|
+
3. [Warmup System](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/warmup-system.md) — Gradually increase sending volume (**requires daily `advanceDay()` cron**)
|
|
107
|
+
4. [Health Tracking](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/health-tracking.md) — Monitor account health and auto-disable unhealthy accounts
|
|
108
|
+
5. [Email Sending](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/email-sending.md) — Send emails via SMTP with queue-based processing
|
|
109
|
+
6. [Global Settings](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/global-settings.md) — Configure timezone, dev mode, approval workflow
|
|
110
110
|
|
|
111
|
-
Reference: [API Routes](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
111
|
+
Reference: [API Routes](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/api-routes.md) | [Programmatic API](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/programmatic-api.md) | [Types](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/types.md) | [Error Handling](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/error-handling.md)
|
|
112
112
|
|
|
113
|
-
Advanced: [Capacity Selection](https://github.com/Hariprakash1997/astralib/blob/main/packages/email
|
|
113
|
+
Advanced: [Capacity Selection](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/capacity-selection.md) | [Draft Approval](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/draft-approval.md) | [IMAP Bounce Checking](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/imap-bounce-checking.md) | [SES Webhooks](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/ses-webhooks.md) | [Unsubscribe](https://github.com/Hariprakash1997/astralib/blob/main/packages/email/account-manager/docs/unsubscribe.md)
|
|
114
114
|
|
|
115
115
|
> **Important:** The warmup system requires calling `advanceDay()` daily via cron job. Without this, accounts stay in warmup indefinitely.
|
|
116
116
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astralibx/email-account-manager",
|
|
3
|
-
"version": "10.6.
|
|
3
|
+
"version": "10.6.1",
|
|
4
4
|
"description": "Reusable email account management with Gmail + SES support, BullMQ queues, health tracking, warmup, and optional approval workflow",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|