ts-mailkit 2.0.1 → 2.1.0
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 +114 -63
- package/dist/core/bulk-types.d.ts +196 -0
- package/dist/core/bulk-types.d.ts.map +1 -0
- package/dist/core/client.d.ts +38 -6
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/errors.d.ts +3 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/types.d.ts +5 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.cjs +338 -67
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +19 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +335 -67
- package/dist/index.js.map +1 -1
- package/dist/renderers/default/default-renderer.d.ts +2 -2
- package/dist/renderers/renderer.interface.d.ts +1 -1
- package/dist/templates/factory.d.ts +1 -1
- package/dist/templates/factory.d.ts.map +1 -1
- package/dist/templates/template-builder.d.ts +36 -0
- package/dist/templates/template-builder.d.ts.map +1 -0
- package/dist/transports/console/console-sender.d.ts +7 -2
- package/dist/transports/console/console-sender.d.ts.map +1 -1
- package/dist/transports/cpaas/cpaas-sender.d.ts +51 -0
- package/dist/transports/cpaas/cpaas-sender.d.ts.map +1 -0
- package/dist/transports/cpaas/types.d.ts +133 -0
- package/dist/transports/cpaas/types.d.ts.map +1 -0
- package/dist/transports/memory/memory-sender.d.ts +26 -6
- package/dist/transports/memory/memory-sender.d.ts.map +1 -1
- package/dist/transports/sender.interface.d.ts +34 -3
- package/dist/transports/sender.interface.d.ts.map +1 -1
- package/dist/transports/zeptomail/types.d.ts +5 -46
- package/dist/transports/zeptomail/types.d.ts.map +1 -1
- package/dist/transports/zeptomail/zeptomail-sender.d.ts +4 -19
- package/dist/transports/zeptomail/zeptomail-sender.d.ts.map +1 -1
- package/package.json +39 -37
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ Works seamlessly in **Node.js**, **Cloudflare Workers** (`workerd`), **Bun**, **
|
|
|
10
10
|
|
|
11
11
|
- **Type-Safe DTOs**: Strongly-typed Data Transfer Objects for transactional emails (verification, password reset, 2FA, magic links, newsletters).
|
|
12
12
|
- **Pluggable Transports (`IEmailSender`)**: Decoupled transport adapter interface with built-in senders:
|
|
13
|
-
- `
|
|
13
|
+
- `CpaasHttpSender` (Zoho CPaaS transactional API via native `fetch`; `ZeptoMailHttpSender` is a deprecated alias).
|
|
14
14
|
- `MemoryEmailSender` (In-memory mock transport for unit and integration testing).
|
|
15
15
|
- `ConsoleEmailSender` (Formatted terminal logger for local development).
|
|
16
16
|
- **Zero Runtime Dependencies**: Core uses standard web APIs (global `fetch`), ensuring zero heavy dependencies and complete edge compatibility.
|
|
@@ -52,19 +52,19 @@ bun add ts-mailkit
|
|
|
52
52
|
### 1. Initialize Transport & Client
|
|
53
53
|
|
|
54
54
|
```ts
|
|
55
|
-
import { createMailKit,
|
|
55
|
+
import { createMailKit, CpaasHttpSender, EmailTemplateFactory } from "ts-mailkit";
|
|
56
56
|
|
|
57
|
-
// Configure the Zoho
|
|
58
|
-
const transport = new
|
|
59
|
-
apiToken: process.env.
|
|
60
|
-
apiHost:
|
|
61
|
-
from: { address:
|
|
57
|
+
// Configure the Zoho CPaaS HTTP transport
|
|
58
|
+
const transport = new CpaasHttpSender({
|
|
59
|
+
apiToken: process.env.CPAAS_API_KEY!,
|
|
60
|
+
apiHost: "cpaas.zoho.com", // or 'cpaas.zoho.eu', 'cpaas.zoho.in'
|
|
61
|
+
from: { address: "noreply@yourdomain.com", name: "Acme App" },
|
|
62
62
|
});
|
|
63
63
|
|
|
64
64
|
// Initialize the MailKit client
|
|
65
65
|
const mailer = createMailKit({
|
|
66
66
|
transport,
|
|
67
|
-
defaultBrandName:
|
|
67
|
+
defaultBrandName: "Acme App",
|
|
68
68
|
});
|
|
69
69
|
```
|
|
70
70
|
|
|
@@ -73,14 +73,14 @@ const mailer = createMailKit({
|
|
|
73
73
|
```ts
|
|
74
74
|
// 1. Create a strongly typed email verification DTO
|
|
75
75
|
const verificationEmail = EmailTemplateFactory.createEmailVerification({
|
|
76
|
-
username:
|
|
77
|
-
verificationUrl:
|
|
78
|
-
otp:
|
|
76
|
+
username: "Alex",
|
|
77
|
+
verificationUrl: "https://app.example.com/verify?token=xyz123",
|
|
78
|
+
otp: "482910",
|
|
79
79
|
});
|
|
80
80
|
|
|
81
81
|
// 2. Dispatch via MailKit
|
|
82
|
-
await mailer.
|
|
83
|
-
to:
|
|
82
|
+
await mailer.sendMail({
|
|
83
|
+
to: "alex@example.com",
|
|
84
84
|
template: verificationEmail,
|
|
85
85
|
});
|
|
86
86
|
```
|
|
@@ -94,43 +94,43 @@ await mailer.send({
|
|
|
94
94
|
`EmailTemplateFactory` provides type-safe constructors for standard transactional patterns:
|
|
95
95
|
|
|
96
96
|
```ts
|
|
97
|
-
import { EmailTemplateFactory } from
|
|
97
|
+
import { EmailTemplateFactory } from "ts-mailkit";
|
|
98
98
|
|
|
99
99
|
// Email Verification with OTP
|
|
100
100
|
const verifyDto = EmailTemplateFactory.createEmailVerification({
|
|
101
|
-
username:
|
|
102
|
-
verificationUrl:
|
|
103
|
-
otp:
|
|
101
|
+
username: "Jordan",
|
|
102
|
+
verificationUrl: "https://app.com/verify?token=abc",
|
|
103
|
+
otp: "123456",
|
|
104
104
|
});
|
|
105
105
|
|
|
106
106
|
// Password Reset
|
|
107
107
|
const resetDto = EmailTemplateFactory.createPasswordReset({
|
|
108
|
-
username:
|
|
109
|
-
resetUrl:
|
|
110
|
-
otp:
|
|
108
|
+
username: "Jordan",
|
|
109
|
+
resetUrl: "https://app.com/reset?token=abc",
|
|
110
|
+
otp: "654321",
|
|
111
111
|
});
|
|
112
112
|
|
|
113
113
|
// Two-Factor Authentication (2FA)
|
|
114
114
|
const twoFactorDto = EmailTemplateFactory.create2FAEmail({
|
|
115
|
-
username:
|
|
116
|
-
otp:
|
|
117
|
-
magicLink:
|
|
115
|
+
username: "Jordan",
|
|
116
|
+
otp: "987654",
|
|
117
|
+
magicLink: "https://app.com/2fa/magic?token=abc",
|
|
118
118
|
});
|
|
119
119
|
|
|
120
120
|
// Magic Link Sign-in
|
|
121
121
|
const magicLinkDto = EmailTemplateFactory.createMagicLinkEmail({
|
|
122
|
-
username:
|
|
123
|
-
magicLink:
|
|
122
|
+
username: "Jordan",
|
|
123
|
+
magicLink: "https://app.com/auth/magic?token=abc",
|
|
124
124
|
});
|
|
125
125
|
|
|
126
126
|
// Newsletter / Announcement
|
|
127
127
|
const newsDto = EmailTemplateFactory.createNewsLetter({
|
|
128
|
-
subject:
|
|
129
|
-
header:
|
|
130
|
-
body:
|
|
131
|
-
imageUrl:
|
|
132
|
-
actionUrl:
|
|
133
|
-
actionText:
|
|
128
|
+
subject: "Product Update - Fall 2026",
|
|
129
|
+
header: "Introducing New Features",
|
|
130
|
+
body: "Here is what our team shipped this month.",
|
|
131
|
+
imageUrl: "https://cdn.example.com/hero.png",
|
|
132
|
+
actionUrl: "https://app.com/blog/update",
|
|
133
|
+
actionText: "Read Release Notes",
|
|
134
134
|
});
|
|
135
135
|
```
|
|
136
136
|
|
|
@@ -140,16 +140,17 @@ You can instantiate `EmailTemplateFactory` with brand-level defaults:
|
|
|
140
140
|
|
|
141
141
|
```ts
|
|
142
142
|
const tenantFactory = new EmailTemplateFactory({
|
|
143
|
-
brandName:
|
|
144
|
-
logoUrl:
|
|
145
|
-
securityMessage:
|
|
143
|
+
brandName: "St. Patrick High School",
|
|
144
|
+
logoUrl: "https://school.edu/assets/logo.png",
|
|
145
|
+
securityMessage:
|
|
146
|
+
"If you did not make this request, contact our school IT administration immediately.",
|
|
146
147
|
footer: (brand) => `© ${new Date().getFullYear()} ${brand}. Authorized educational portal.`,
|
|
147
148
|
});
|
|
148
149
|
|
|
149
150
|
const studentEmail = tenantFactory.createEmailVerification({
|
|
150
|
-
username:
|
|
151
|
-
verificationUrl:
|
|
152
|
-
otp:
|
|
151
|
+
username: "Student",
|
|
152
|
+
verificationUrl: "https://school.edu/verify",
|
|
153
|
+
otp: "554433",
|
|
153
154
|
});
|
|
154
155
|
```
|
|
155
156
|
|
|
@@ -158,10 +159,10 @@ Or pass a dynamic tenant resolver to `MailKit`:
|
|
|
158
159
|
```ts
|
|
159
160
|
const mailer = createMailKit({
|
|
160
161
|
transport,
|
|
161
|
-
defaultFrom:
|
|
162
|
+
defaultFrom: "notifications@portal.edu",
|
|
162
163
|
brandNameResolver: async () => {
|
|
163
164
|
// Dynamically retrieve active tenant brand from request context or DB
|
|
164
|
-
return
|
|
165
|
+
return "Springfield Academy";
|
|
165
166
|
},
|
|
166
167
|
});
|
|
167
168
|
```
|
|
@@ -171,10 +172,10 @@ const mailer = createMailKit({
|
|
|
171
172
|
Easily write unit and integration tests without hitting third-party APIs or mocking network sockets:
|
|
172
173
|
|
|
173
174
|
```ts
|
|
174
|
-
import { describe, it, expect, beforeEach } from
|
|
175
|
-
import { createMailKit, MemoryEmailSender, EmailTemplateFactory } from
|
|
175
|
+
import { describe, it, expect, beforeEach } from "vitest";
|
|
176
|
+
import { createMailKit, MemoryEmailSender, EmailTemplateFactory } from "ts-mailkit";
|
|
176
177
|
|
|
177
|
-
describe(
|
|
178
|
+
describe("User Registration Email", () => {
|
|
178
179
|
let memoryTransport: MemoryEmailSender;
|
|
179
180
|
let mailer: ReturnType<typeof createMailKit>;
|
|
180
181
|
|
|
@@ -183,20 +184,20 @@ describe('User Registration Email', () => {
|
|
|
183
184
|
mailer = createMailKit({ transport: memoryTransport });
|
|
184
185
|
});
|
|
185
186
|
|
|
186
|
-
it(
|
|
187
|
+
it("sends verification code to the registered user", async () => {
|
|
187
188
|
const dto = EmailTemplateFactory.createEmailVerification({
|
|
188
|
-
username:
|
|
189
|
-
verificationUrl:
|
|
190
|
-
otp:
|
|
189
|
+
username: "Sam",
|
|
190
|
+
verificationUrl: "https://app.com/verify?token=123",
|
|
191
|
+
otp: "889900",
|
|
191
192
|
});
|
|
192
193
|
|
|
193
|
-
await mailer.
|
|
194
|
+
await mailer.sendMail({ to: "sam@example.com", template: dto });
|
|
194
195
|
|
|
195
196
|
expect(memoryTransport.count()).toBe(1);
|
|
196
197
|
const sent = memoryTransport.getLastMail();
|
|
197
|
-
expect(sent?.subject).toBe(
|
|
198
|
-
expect(sent?.html).toContain(
|
|
199
|
-
expect(sent?.text).toContain(
|
|
198
|
+
expect(sent?.subject).toBe("Verify Your Email Address");
|
|
199
|
+
expect(sent?.html).toContain("889900");
|
|
200
|
+
expect(sent?.text).toContain("Your verification code is: 889900");
|
|
200
201
|
});
|
|
201
202
|
});
|
|
202
203
|
```
|
|
@@ -207,15 +208,15 @@ For custom HTML or plain-text messages. When `text` is omitted, an accessible pl
|
|
|
207
208
|
|
|
208
209
|
```ts
|
|
209
210
|
await mailer.sendRaw({
|
|
210
|
-
to: [{ address:
|
|
211
|
-
subject:
|
|
212
|
-
html:
|
|
211
|
+
to: [{ address: "support@example.com", name: "Support Team" }],
|
|
212
|
+
subject: "Urgent System Alert",
|
|
213
|
+
html: "<h1>System Alert</h1><p>Database failover completed successfully.</p>",
|
|
213
214
|
// text is optional — auto-converted from html if omitted
|
|
214
215
|
attachments: [
|
|
215
216
|
{
|
|
216
|
-
filename:
|
|
217
|
-
content:
|
|
218
|
-
mimeType:
|
|
217
|
+
filename: "report.txt",
|
|
218
|
+
content: "Database log summary...",
|
|
219
|
+
mimeType: "text/plain",
|
|
219
220
|
},
|
|
220
221
|
],
|
|
221
222
|
});
|
|
@@ -226,35 +227,85 @@ await mailer.sendRaw({
|
|
|
226
227
|
If your application receives combined address strings like `"Jane Doe <jane@example.com>"`, use the standalone, tree-shakeable `parseEmailAddress` helper:
|
|
227
228
|
|
|
228
229
|
```ts
|
|
229
|
-
import { parseEmailAddress } from
|
|
230
|
+
import { parseEmailAddress } from "ts-mailkit";
|
|
230
231
|
|
|
231
|
-
const recipient = parseEmailAddress(
|
|
232
|
+
const recipient = parseEmailAddress("Jane Doe <jane@example.com>");
|
|
232
233
|
// => { address: 'jane@example.com', name: 'Jane Doe' }
|
|
233
234
|
|
|
234
|
-
const simple = parseEmailAddress(
|
|
235
|
+
const simple = parseEmailAddress("jane@example.com");
|
|
235
236
|
// => { address: 'jane@example.com' }
|
|
236
237
|
```
|
|
237
238
|
|
|
238
239
|
### 6. Pluggable Transports (`IEmailSender`)
|
|
239
240
|
|
|
240
|
-
You can implement custom transports (e.g. SMTP, Resend, SendGrid, Postmark) by satisfying the `IEmailSender` interface:
|
|
241
|
+
You can implement custom transports (e.g. SMTP, Resend, SendGrid, Postmark) by satisfying the `IEmailSender` interface. Bulk and provider-template capabilities are optional: implement `sendBulk`, `sendKnownTemplate`, and/or `sendBulkKnownTemplate` to enable them. `MailKit` throws a `ConfigurationError` if a method is called on a transport that does not implement it.
|
|
241
242
|
|
|
242
243
|
```ts
|
|
243
|
-
import type { IEmailSender, SendMailOptions, SendResult } from
|
|
244
|
+
import type { IEmailSender, SendMailOptions, SendResult } from "ts-mailkit";
|
|
244
245
|
|
|
245
246
|
export class CustomSmtpSender implements IEmailSender {
|
|
246
|
-
readonly name =
|
|
247
|
+
readonly name = "smtp";
|
|
247
248
|
|
|
248
249
|
async send(options: SendMailOptions): Promise<SendResult> {
|
|
249
250
|
// Custom dispatch logic using your preferred protocol or client
|
|
250
251
|
return {
|
|
251
252
|
success: true,
|
|
252
|
-
messageId:
|
|
253
|
+
messageId: "custom-id-123",
|
|
253
254
|
};
|
|
254
255
|
}
|
|
255
256
|
}
|
|
256
257
|
```
|
|
257
258
|
|
|
259
|
+
### 7. Bulk Messaging & Provider-Side Templates
|
|
260
|
+
|
|
261
|
+
`MailKit` exposes four canonical send methods. Bulk methods hit the provider's batch endpoints directly (no client-side loops) and deliver an individual copy to each recipient.
|
|
262
|
+
|
|
263
|
+
```ts
|
|
264
|
+
// 1. Bulk manual template: one rendered DTO, delivered individually to every recipient.
|
|
265
|
+
await mailer.sendBulkMail({
|
|
266
|
+
to: ["a@example.com", "b@example.com"],
|
|
267
|
+
template: newsletterDto,
|
|
268
|
+
trackClicks: true,
|
|
269
|
+
trackOpens: true,
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
// 2. Single provider-side template (uploaded to Zoho CPaaS / SendGrid beforehand).
|
|
273
|
+
await mailer.sendKnownTemplate({
|
|
274
|
+
templateId: "welcome-email",
|
|
275
|
+
to: "alex@example.com",
|
|
276
|
+
mergeInfo: { user_name: "Alex" },
|
|
277
|
+
});
|
|
278
|
+
|
|
279
|
+
// 3. Bulk provider-side template with per-recipient merge data.
|
|
280
|
+
await mailer.sendBulkKnownTemplate({
|
|
281
|
+
templateId: "welcome-email",
|
|
282
|
+
to: [
|
|
283
|
+
{ address: "alex@example.com", name: "Alex", mergeInfo: { user_name: "Alex" } },
|
|
284
|
+
{ address: "sam@example.com", name: "Sam", mergeInfo: { user_name: "Sam" } },
|
|
285
|
+
],
|
|
286
|
+
});
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
Set `CpaasHttpConfig.preferTemplateAlias: true` to send `template_alias` instead of `template_key`. Every transport returns a unified `SendResult` whose `rawResponse` field holds the provider's raw response (typed via the exported `CpaasSuccessResponse` / `CpaasErrorResponse` types).
|
|
290
|
+
|
|
291
|
+
### 8. Building Upload-Ready Templates
|
|
292
|
+
|
|
293
|
+
`buildHTMLTemplate` and `buildPlainTextTemplate` turn the canonical `EmailTemplateDto` into content you can upload to a messaging platform:
|
|
294
|
+
|
|
295
|
+
```ts
|
|
296
|
+
import { buildHTMLTemplate, buildPlainTextTemplate, EmailTemplateFactory } from "ts-mailkit";
|
|
297
|
+
|
|
298
|
+
const dto = EmailTemplateFactory.createSimpleMessage({
|
|
299
|
+
subject: "Welcome",
|
|
300
|
+
header: "Hello",
|
|
301
|
+
body: "Thanks for joining.",
|
|
302
|
+
});
|
|
303
|
+
|
|
304
|
+
const html = buildHTMLTemplate(dto, { primaryColor: "#0f766e", maxWidth: "640px" });
|
|
305
|
+
const text = buildPlainTextTemplate(dto);
|
|
306
|
+
// Upload `html` / `text` as a provider-side template, then send with `sendKnownTemplate`.
|
|
307
|
+
```
|
|
308
|
+
|
|
258
309
|
---
|
|
259
310
|
|
|
260
311
|
## Template Preview
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import type { EmailAttachment, Recipient, SendMailOptions } from "./types.js";
|
|
2
|
+
import type { EmailTemplateDto } from "../templates/dto/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* A recipient with optional provider-side merge variables.
|
|
5
|
+
*/
|
|
6
|
+
export interface BulkRecipient {
|
|
7
|
+
address: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Provider-side merge variables (e.g. Zoho CPaaS `merge_info`).
|
|
11
|
+
*/
|
|
12
|
+
mergeInfo?: Record<string, string>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Transport-level batch of a single raw email content to many recipients.
|
|
16
|
+
*
|
|
17
|
+
* The provider delivers an individual copy to each recipient, so recipients
|
|
18
|
+
* are not exposed to one another.
|
|
19
|
+
*/
|
|
20
|
+
export interface BulkSendOptions extends SendMailOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Enable or disable click tracking.
|
|
23
|
+
*/
|
|
24
|
+
trackClicks?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Enable or disable open tracking.
|
|
27
|
+
*/
|
|
28
|
+
trackOpens?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Verified bounce (Return-Path) address.
|
|
31
|
+
*/
|
|
32
|
+
bounceAddress?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Custom reference string to identify the email in your system.
|
|
35
|
+
*/
|
|
36
|
+
clientReference?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Options for sending a single email using a provider-side template.
|
|
40
|
+
*/
|
|
41
|
+
export interface KnownTemplateSendOptions {
|
|
42
|
+
/**
|
|
43
|
+
* Provider-side template identifier (e.g. Zoho `template_key`).
|
|
44
|
+
*/
|
|
45
|
+
templateId: string;
|
|
46
|
+
/**
|
|
47
|
+
* Recipient email address.
|
|
48
|
+
*/
|
|
49
|
+
to: Recipient;
|
|
50
|
+
/**
|
|
51
|
+
* Optional sender address override.
|
|
52
|
+
*/
|
|
53
|
+
from?: Recipient;
|
|
54
|
+
/**
|
|
55
|
+
* Template variable substitutions.
|
|
56
|
+
*/
|
|
57
|
+
mergeInfo?: Record<string, string>;
|
|
58
|
+
/**
|
|
59
|
+
* Optional CC recipients.
|
|
60
|
+
*/
|
|
61
|
+
cc?: Recipient | Recipient[];
|
|
62
|
+
/**
|
|
63
|
+
* Optional BCC recipients.
|
|
64
|
+
*/
|
|
65
|
+
bcc?: Recipient | Recipient[];
|
|
66
|
+
/**
|
|
67
|
+
* Optional Reply-To recipients.
|
|
68
|
+
*/
|
|
69
|
+
replyTo?: Recipient | Recipient[];
|
|
70
|
+
/**
|
|
71
|
+
* Optional file attachments.
|
|
72
|
+
*/
|
|
73
|
+
attachments?: EmailAttachment[];
|
|
74
|
+
/**
|
|
75
|
+
* Enable or disable click tracking.
|
|
76
|
+
*/
|
|
77
|
+
trackClicks?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Enable or disable open tracking.
|
|
80
|
+
*/
|
|
81
|
+
trackOpens?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Verified bounce (Return-Path) address.
|
|
84
|
+
*/
|
|
85
|
+
bounceAddress?: string;
|
|
86
|
+
/**
|
|
87
|
+
* Custom reference string to identify the email in your system.
|
|
88
|
+
*/
|
|
89
|
+
clientReference?: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Options for sending a batch of emails using a provider-side template.
|
|
93
|
+
*
|
|
94
|
+
* Each recipient may carry its own `mergeInfo` so the provider can
|
|
95
|
+
* personalize the template per recipient.
|
|
96
|
+
*/
|
|
97
|
+
export interface BulkKnownTemplateSendOptions {
|
|
98
|
+
/**
|
|
99
|
+
* Provider-side template identifier (e.g. Zoho `template_key`).
|
|
100
|
+
*/
|
|
101
|
+
templateId: string;
|
|
102
|
+
/**
|
|
103
|
+
* Recipients, each with optional per-recipient merge variables.
|
|
104
|
+
*/
|
|
105
|
+
to: BulkRecipient[];
|
|
106
|
+
/**
|
|
107
|
+
* Optional sender address override.
|
|
108
|
+
*/
|
|
109
|
+
from?: Recipient;
|
|
110
|
+
/**
|
|
111
|
+
* Optional CC recipients.
|
|
112
|
+
*/
|
|
113
|
+
cc?: Recipient | Recipient[];
|
|
114
|
+
/**
|
|
115
|
+
* Optional BCC recipients.
|
|
116
|
+
*/
|
|
117
|
+
bcc?: Recipient | Recipient[];
|
|
118
|
+
/**
|
|
119
|
+
* Optional Reply-To recipients.
|
|
120
|
+
*/
|
|
121
|
+
replyTo?: Recipient | Recipient[];
|
|
122
|
+
/**
|
|
123
|
+
* Optional file attachments.
|
|
124
|
+
*/
|
|
125
|
+
attachments?: EmailAttachment[];
|
|
126
|
+
/**
|
|
127
|
+
* Enable or disable click tracking.
|
|
128
|
+
*/
|
|
129
|
+
trackClicks?: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Enable or disable open tracking.
|
|
132
|
+
*/
|
|
133
|
+
trackOpens?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Verified bounce (Return-Path) address.
|
|
136
|
+
*/
|
|
137
|
+
bounceAddress?: string;
|
|
138
|
+
/**
|
|
139
|
+
* Custom reference string to identify the email in your system.
|
|
140
|
+
*/
|
|
141
|
+
clientReference?: string;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Client-level options for sending a bulk email using the in-built template DTO.
|
|
145
|
+
*/
|
|
146
|
+
export interface SendBulkMailOptions {
|
|
147
|
+
/**
|
|
148
|
+
* Templated email DTO to render and send to every recipient.
|
|
149
|
+
*/
|
|
150
|
+
template: EmailTemplateDto;
|
|
151
|
+
/**
|
|
152
|
+
* One or more recipient email addresses.
|
|
153
|
+
*/
|
|
154
|
+
to: Recipient | Recipient[];
|
|
155
|
+
/**
|
|
156
|
+
* Optional sender address override.
|
|
157
|
+
*/
|
|
158
|
+
from?: Recipient;
|
|
159
|
+
/**
|
|
160
|
+
* Optional CC recipients.
|
|
161
|
+
*/
|
|
162
|
+
cc?: Recipient | Recipient[];
|
|
163
|
+
/**
|
|
164
|
+
* Optional BCC recipients.
|
|
165
|
+
*/
|
|
166
|
+
bcc?: Recipient | Recipient[];
|
|
167
|
+
/**
|
|
168
|
+
* Optional Reply-To recipients.
|
|
169
|
+
*/
|
|
170
|
+
replyTo?: Recipient | Recipient[];
|
|
171
|
+
/**
|
|
172
|
+
* Optional file attachments.
|
|
173
|
+
*/
|
|
174
|
+
attachments?: EmailAttachment[];
|
|
175
|
+
/**
|
|
176
|
+
* Optional custom headers.
|
|
177
|
+
*/
|
|
178
|
+
headers?: Record<string, string>;
|
|
179
|
+
/**
|
|
180
|
+
* Optional tags for tracking.
|
|
181
|
+
*/
|
|
182
|
+
tags?: string[];
|
|
183
|
+
/**
|
|
184
|
+
* Optional metadata.
|
|
185
|
+
*/
|
|
186
|
+
metadata?: Record<string, string>;
|
|
187
|
+
/**
|
|
188
|
+
* Enable or disable click tracking.
|
|
189
|
+
*/
|
|
190
|
+
trackClicks?: boolean;
|
|
191
|
+
/**
|
|
192
|
+
* Enable or disable open tracking.
|
|
193
|
+
*/
|
|
194
|
+
trackOpens?: boolean;
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=bulk-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bulk-types.d.ts","sourceRoot":"","sources":["../../src/core/bulk-types.ts"],"names":[],"mappings":"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"}
|
package/dist/core/client.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { IEmailSender } from
|
|
2
|
-
import type { IEmailRenderer, RenderedEmail } from
|
|
3
|
-
import type { EmailTemplateDto } from
|
|
4
|
-
import { type Recipient, type SendMailOptions, type SendResult } from
|
|
1
|
+
import type { IEmailSender } from "../transports/sender.interface.js";
|
|
2
|
+
import type { IEmailRenderer, RenderedEmail } from "../renderers/renderer.interface.js";
|
|
3
|
+
import type { EmailTemplateDto } from "../templates/dto/index.js";
|
|
4
|
+
import { type Recipient, type SendMailOptions, type SendResult } from "./types.js";
|
|
5
|
+
import type { BulkKnownTemplateSendOptions, KnownTemplateSendOptions, SendBulkMailOptions } from "./bulk-types.js";
|
|
5
6
|
export interface SendTemplateOptions {
|
|
6
7
|
/**
|
|
7
8
|
* One or more recipient email addresses.
|
|
@@ -38,7 +39,7 @@ export interface SendTemplateOptions {
|
|
|
38
39
|
/**
|
|
39
40
|
* Optional file attachments.
|
|
40
41
|
*/
|
|
41
|
-
attachments?: SendMailOptions[
|
|
42
|
+
attachments?: SendMailOptions["attachments"];
|
|
42
43
|
/**
|
|
43
44
|
* Optional custom headers.
|
|
44
45
|
*/
|
|
@@ -98,13 +99,44 @@ export declare class MailKit {
|
|
|
98
99
|
*
|
|
99
100
|
* Example:
|
|
100
101
|
* ```ts
|
|
101
|
-
* await mailer.
|
|
102
|
+
* await mailer.sendMail({
|
|
102
103
|
* to: 'user@example.com',
|
|
103
104
|
* template: myDto,
|
|
104
105
|
* });
|
|
105
106
|
* ```
|
|
106
107
|
*/
|
|
108
|
+
sendMail(options: SendTemplateOptions): Promise<SendResult>;
|
|
109
|
+
/**
|
|
110
|
+
* @deprecated Use {@link sendMail} instead.
|
|
111
|
+
*/
|
|
107
112
|
send(options: SendTemplateOptions): Promise<SendResult>;
|
|
113
|
+
/**
|
|
114
|
+
* Sends a bulk email using a strongly-typed template DTO.
|
|
115
|
+
*
|
|
116
|
+
* The transport delivers an individual copy to each recipient, so
|
|
117
|
+
* recipients are not exposed to one another. Per-recipient personalization
|
|
118
|
+
* is available via {@link sendBulkKnownTemplate}.
|
|
119
|
+
*
|
|
120
|
+
* Example:
|
|
121
|
+
* ```ts
|
|
122
|
+
* await mailer.sendBulkMail({
|
|
123
|
+
* to: ['a@example.com', 'b@example.com'],
|
|
124
|
+
* template: myDto,
|
|
125
|
+
* });
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
sendBulkMail(options: SendBulkMailOptions): Promise<SendResult>;
|
|
129
|
+
/**
|
|
130
|
+
* Sends a single email using a provider-side template.
|
|
131
|
+
*/
|
|
132
|
+
sendKnownTemplate(options: KnownTemplateSendOptions): Promise<SendResult>;
|
|
133
|
+
/**
|
|
134
|
+
* Sends a bulk email using a provider-side template with optional
|
|
135
|
+
* per-recipient merge data.
|
|
136
|
+
*/
|
|
137
|
+
sendBulkKnownTemplate(options: BulkKnownTemplateSendOptions): Promise<SendResult>;
|
|
138
|
+
private resolveFromName;
|
|
139
|
+
private applyFromName;
|
|
108
140
|
/**
|
|
109
141
|
* Dispatches a raw, pre-rendered email directly through the transport.
|
|
110
142
|
* If `options.text` is omitted, plain text is automatically derived from `options.html`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
|
package/dist/core/errors.d.ts
CHANGED
|
@@ -17,11 +17,14 @@ export declare class TransportError extends MailKitError {
|
|
|
17
17
|
readonly transportName: string;
|
|
18
18
|
readonly statusCode?: number;
|
|
19
19
|
readonly responseBody?: string;
|
|
20
|
+
/** Parsed raw provider response, when available. */
|
|
21
|
+
readonly rawResponse?: unknown;
|
|
20
22
|
readonly cause?: unknown;
|
|
21
23
|
constructor(message: string, options: {
|
|
22
24
|
transportName: string;
|
|
23
25
|
statusCode?: number;
|
|
24
26
|
responseBody?: string;
|
|
27
|
+
rawResponse?: unknown;
|
|
25
28
|
cause?: unknown;
|
|
26
29
|
});
|
|
27
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAO,EAAE,MAAM,EAI1B;CACF;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,YAAY,OAAO,EAAE,MAAM,EAI1B;CACF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAEzB,YACE,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAO,EAAE,MAAM,EAI1B;CACF;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,YAAY,OAAO,EAAE,MAAM,EAI1B;CACF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAEzB,YACE,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,EAUF;CACF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,YAAY,OAAO,EAAE,MAAM,EAI1B;CACF"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -66,6 +66,11 @@ export interface SendMailOptions {
|
|
|
66
66
|
export interface SendResult {
|
|
67
67
|
success: boolean;
|
|
68
68
|
messageId?: string;
|
|
69
|
+
/** Raw provider response (e.g. Zoho CPaaS JSON body). */
|
|
70
|
+
rawResponse?: unknown;
|
|
71
|
+
/**
|
|
72
|
+
* @deprecated Use `rawResponse` instead.
|
|
73
|
+
*/
|
|
69
74
|
response?: unknown;
|
|
70
75
|
}
|
|
71
76
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAa7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CAcrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,YAAY,EAAE,CAIxF;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC7B,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
|