@bernierllc/email-sender 5.2.1 → 5.3.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.
Files changed (37) hide show
  1. package/dist/index.d.ts +5 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +9 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/providers/mailgun/sender-manager.d.ts +85 -0
  6. package/dist/providers/mailgun/sender-manager.d.ts.map +1 -0
  7. package/dist/providers/mailgun/sender-manager.js +615 -0
  8. package/dist/providers/mailgun/sender-manager.js.map +1 -0
  9. package/dist/providers/mailgun.d.ts +3 -0
  10. package/dist/providers/mailgun.d.ts.map +1 -1
  11. package/dist/providers/mailgun.js +10 -0
  12. package/dist/providers/mailgun.js.map +1 -1
  13. package/dist/providers/postmark/sender-manager.d.ts +108 -0
  14. package/dist/providers/postmark/sender-manager.d.ts.map +1 -0
  15. package/dist/providers/postmark/sender-manager.js +518 -0
  16. package/dist/providers/postmark/sender-manager.js.map +1 -0
  17. package/dist/providers/postmark.d.ts +2 -0
  18. package/dist/providers/postmark.d.ts.map +1 -1
  19. package/dist/providers/postmark.js +3 -0
  20. package/dist/providers/postmark.js.map +1 -1
  21. package/dist/providers/sendgrid/sender-manager.d.ts +37 -0
  22. package/dist/providers/sendgrid/sender-manager.d.ts.map +1 -1
  23. package/dist/providers/sendgrid/sender-manager.js +318 -0
  24. package/dist/providers/sendgrid/sender-manager.js.map +1 -1
  25. package/dist/providers/sendgrid.d.ts +31 -0
  26. package/dist/providers/sendgrid.d.ts.map +1 -1
  27. package/dist/providers/sendgrid.js +69 -0
  28. package/dist/providers/sendgrid.js.map +1 -1
  29. package/dist/providers/ses/sender-manager.d.ts +48 -0
  30. package/dist/providers/ses/sender-manager.d.ts.map +1 -0
  31. package/dist/providers/ses/sender-manager.js +437 -0
  32. package/dist/providers/ses/sender-manager.js.map +1 -0
  33. package/dist/providers/ses.d.ts +23 -0
  34. package/dist/providers/ses.d.ts.map +1 -1
  35. package/dist/providers/ses.js +30 -0
  36. package/dist/providers/ses.js.map +1 -1
  37. package/package.json +3 -2
@@ -0,0 +1,518 @@
1
+ "use strict";
2
+ /*
3
+ Copyright (c) 2025 Bernier LLC
4
+
5
+ This file is licensed to the client under a limited-use license.
6
+ The client may use and modify this code *only within the scope of the project it was delivered for*.
7
+ Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PostmarkSenderManager = void 0;
11
+ /**
12
+ * Postmark Sender Signature Manager
13
+ *
14
+ * Manages sender signatures (verified senders) through the Postmark Account API.
15
+ * Uses account-level authentication (X-Postmark-Account-Token) for all operations.
16
+ *
17
+ * Postmark API reference: https://postmarkapp.com/developer/api/signatures-api
18
+ */
19
+ const errors_1 = require("../../errors");
20
+ class PostmarkSenderManager {
21
+ constructor(accountToken, baseUrl, logger) {
22
+ this.accountToken = accountToken;
23
+ this.baseUrl = baseUrl;
24
+ this.logger = logger;
25
+ }
26
+ // ==========================================
27
+ // Core CRUD Operations
28
+ // ==========================================
29
+ /**
30
+ * Create a sender signature in Postmark.
31
+ * POST /senders
32
+ */
33
+ async createSender(input) {
34
+ try {
35
+ const body = {
36
+ FromEmail: input.fromEmail,
37
+ Name: input.fromName,
38
+ };
39
+ if (input.replyToEmail !== undefined) {
40
+ body['ReplyToEmail'] = input.replyToEmail;
41
+ }
42
+ // Merge any provider-specific fields
43
+ if (input.providerFields) {
44
+ for (const [key, value] of Object.entries(input.providerFields)) {
45
+ body[key] = value;
46
+ }
47
+ }
48
+ const response = await this.request('POST', '/senders', body);
49
+ if (!response.ok) {
50
+ const errorCode = this.mapStatusToErrorCode(response.status);
51
+ const errorBody = await this.safeParseJson(response);
52
+ return {
53
+ success: false,
54
+ providerSenderId: '',
55
+ email: input.fromEmail,
56
+ verificationStatus: 'not_started',
57
+ error: {
58
+ code: errorCode,
59
+ message: this.extractErrorMessage(errorBody, response.status),
60
+ },
61
+ };
62
+ }
63
+ const data = await response.json();
64
+ this.logger?.info(`Created sender signature ${data.ID} for ${input.fromEmail}`);
65
+ return {
66
+ success: true,
67
+ providerSenderId: String(data.ID),
68
+ email: data.FromEmail,
69
+ verificationStatus: data.Confirmed ? 'verified' : 'pending',
70
+ metadata: {
71
+ domain: data.Domain,
72
+ dkimVerified: data.DKIMVerified,
73
+ returnPathVerified: data.ReturnPathDomainVerified,
74
+ },
75
+ };
76
+ }
77
+ catch (error) {
78
+ return this.handleFetchError('createSender', input.fromEmail, error);
79
+ }
80
+ }
81
+ /**
82
+ * Update an existing sender signature in Postmark.
83
+ * PUT /senders/{signatureId}
84
+ */
85
+ async updateSender(input) {
86
+ try {
87
+ const body = {};
88
+ if (input.fromName !== undefined) {
89
+ body['Name'] = input.fromName;
90
+ }
91
+ if (input.replyToEmail !== undefined) {
92
+ body['ReplyToEmail'] = input.replyToEmail;
93
+ }
94
+ // Merge any provider-specific fields
95
+ if (input.providerFields) {
96
+ for (const [key, value] of Object.entries(input.providerFields)) {
97
+ body[key] = value;
98
+ }
99
+ }
100
+ const response = await this.request('PUT', `/senders/${input.providerSenderId}`, body);
101
+ if (!response.ok) {
102
+ const errorCode = this.mapStatusToErrorCode(response.status);
103
+ const errorBody = await this.safeParseJson(response);
104
+ return {
105
+ success: false,
106
+ providerSenderId: input.providerSenderId,
107
+ email: '',
108
+ verificationStatus: 'not_started',
109
+ error: {
110
+ code: errorCode,
111
+ message: this.extractErrorMessage(errorBody, response.status),
112
+ },
113
+ };
114
+ }
115
+ const data = await response.json();
116
+ this.logger?.info(`Updated sender signature ${input.providerSenderId}`);
117
+ return {
118
+ success: true,
119
+ providerSenderId: String(data.ID),
120
+ email: data.FromEmail,
121
+ verificationStatus: data.Confirmed ? 'verified' : 'pending',
122
+ metadata: {
123
+ domain: data.Domain,
124
+ dkimVerified: data.DKIMVerified,
125
+ returnPathVerified: data.ReturnPathDomainVerified,
126
+ },
127
+ };
128
+ }
129
+ catch (error) {
130
+ return this.handleFetchError('updateSender', input.providerSenderId, error);
131
+ }
132
+ }
133
+ /**
134
+ * Delete a sender signature from Postmark.
135
+ * DELETE /senders/{signatureId}
136
+ */
137
+ async deleteSender(providerSenderId) {
138
+ try {
139
+ const response = await this.request('DELETE', `/senders/${providerSenderId}`);
140
+ if (!response.ok) {
141
+ const errorCode = this.mapStatusToErrorCode(response.status);
142
+ const errorBody = await this.safeParseJson(response);
143
+ return {
144
+ success: false,
145
+ providerSenderId,
146
+ error: {
147
+ code: errorCode,
148
+ message: this.extractErrorMessage(errorBody, response.status),
149
+ },
150
+ };
151
+ }
152
+ this.logger?.info(`Deleted sender signature ${providerSenderId}`);
153
+ return {
154
+ success: true,
155
+ providerSenderId,
156
+ };
157
+ }
158
+ catch (error) {
159
+ if (error instanceof errors_1.EmailSenderError) {
160
+ throw error;
161
+ }
162
+ throw new errors_1.EmailSenderError('Failed to delete sender signature', {
163
+ cause: error instanceof Error ? error : new Error(String(error)),
164
+ code: errors_1.EmailSenderErrorCode.PROVIDER_ERROR,
165
+ context: { providerSenderId },
166
+ });
167
+ }
168
+ }
169
+ // ==========================================
170
+ // Verification Operations
171
+ // ==========================================
172
+ /**
173
+ * Postmark uses signature-based verification (confirmation email).
174
+ */
175
+ getVerificationType() {
176
+ return 'signature';
177
+ }
178
+ /**
179
+ * Initiate verification by resending the confirmation email.
180
+ * POST /senders/{signatureId}/resend
181
+ */
182
+ async initiateVerification(providerSenderId) {
183
+ try {
184
+ const response = await this.request('POST', `/senders/${providerSenderId}/resend`);
185
+ if (!response.ok) {
186
+ const errorCode = this.mapStatusToErrorCode(response.status);
187
+ const errorBody = await this.safeParseJson(response);
188
+ return {
189
+ success: false,
190
+ providerSenderId,
191
+ status: 'pending',
192
+ verificationType: 'signature',
193
+ error: {
194
+ code: errorCode,
195
+ message: this.extractErrorMessage(errorBody, response.status),
196
+ },
197
+ };
198
+ }
199
+ this.logger?.info(`Resent verification email for sender ${providerSenderId}`);
200
+ return {
201
+ success: true,
202
+ providerSenderId,
203
+ status: 'pending',
204
+ verificationType: 'signature',
205
+ message: 'Verification email resent; awaiting confirmation',
206
+ };
207
+ }
208
+ catch (error) {
209
+ if (error instanceof errors_1.EmailSenderError) {
210
+ throw error;
211
+ }
212
+ throw new errors_1.EmailSenderError('Failed to initiate sender verification', {
213
+ cause: error instanceof Error ? error : new Error(String(error)),
214
+ code: errors_1.EmailSenderErrorCode.PROVIDER_ERROR,
215
+ context: { providerSenderId },
216
+ });
217
+ }
218
+ }
219
+ /**
220
+ * Check the verification status of a sender signature.
221
+ * GET /senders/{signatureId}
222
+ */
223
+ async checkVerificationStatus(providerSenderId) {
224
+ try {
225
+ const response = await this.request('GET', `/senders/${providerSenderId}`);
226
+ if (!response.ok) {
227
+ const errorCode = this.mapStatusToErrorCode(response.status);
228
+ const errorBody = await this.safeParseJson(response);
229
+ return {
230
+ success: false,
231
+ providerSenderId,
232
+ status: 'not_started',
233
+ verificationType: 'signature',
234
+ error: {
235
+ code: errorCode,
236
+ message: this.extractErrorMessage(errorBody, response.status),
237
+ },
238
+ };
239
+ }
240
+ const data = await response.json();
241
+ const status = data.Confirmed ? 'verified' : 'pending';
242
+ return {
243
+ success: true,
244
+ providerSenderId,
245
+ status,
246
+ verificationType: 'signature',
247
+ message: data.Confirmed
248
+ ? 'Sender signature is verified'
249
+ : 'Awaiting confirmation; check email inbox',
250
+ };
251
+ }
252
+ catch (error) {
253
+ if (error instanceof errors_1.EmailSenderError) {
254
+ throw error;
255
+ }
256
+ throw new errors_1.EmailSenderError('Failed to check verification status', {
257
+ cause: error instanceof Error ? error : new Error(String(error)),
258
+ code: errors_1.EmailSenderErrorCode.PROVIDER_ERROR,
259
+ context: { providerSenderId },
260
+ });
261
+ }
262
+ }
263
+ /**
264
+ * Get DNS requirements for a sender signature.
265
+ * GET /senders/{signatureId}
266
+ * Extracts DKIM (TXT) and Return-Path (CNAME) records.
267
+ */
268
+ async getDnsRequirements(providerSenderId) {
269
+ try {
270
+ const response = await this.request('GET', `/senders/${providerSenderId}`);
271
+ if (!response.ok) {
272
+ throw new errors_1.EmailSenderError(`Failed to fetch sender signature ${providerSenderId}`, {
273
+ code: errors_1.EmailSenderErrorCode.PROVIDER_ERROR,
274
+ context: { providerSenderId, status: response.status },
275
+ });
276
+ }
277
+ const data = await response.json();
278
+ const records = [];
279
+ // DKIM record (TXT)
280
+ if (data.DKIMHost && data.DKIMTextValue) {
281
+ records.push({
282
+ type: 'TXT',
283
+ host: data.DKIMHost,
284
+ value: data.DKIMTextValue,
285
+ ttl: 3600,
286
+ });
287
+ }
288
+ // Pending DKIM record (TXT) - when DKIM rotation is in progress
289
+ if (data.DKIMPendingHost && data.DKIMPendingTextValue) {
290
+ records.push({
291
+ type: 'TXT',
292
+ host: data.DKIMPendingHost,
293
+ value: data.DKIMPendingTextValue,
294
+ ttl: 3600,
295
+ });
296
+ }
297
+ // Return-Path record (CNAME)
298
+ if (data.ReturnPathDomain && data.ReturnPathDomainCNAMEValue) {
299
+ records.push({
300
+ type: 'CNAME',
301
+ host: data.ReturnPathDomain,
302
+ value: data.ReturnPathDomainCNAMEValue,
303
+ ttl: 3600,
304
+ });
305
+ }
306
+ return records;
307
+ }
308
+ catch (error) {
309
+ if (error instanceof errors_1.EmailSenderError) {
310
+ throw error;
311
+ }
312
+ throw new errors_1.EmailSenderError('Failed to get DNS requirements', {
313
+ cause: error instanceof Error ? error : new Error(String(error)),
314
+ code: errors_1.EmailSenderErrorCode.PROVIDER_ERROR,
315
+ context: { providerSenderId },
316
+ });
317
+ }
318
+ }
319
+ // ==========================================
320
+ // Query Operations
321
+ // ==========================================
322
+ /**
323
+ * List all verified senders from Postmark.
324
+ * GET /senders?count=500&offset=0
325
+ * Maps SenderSignatures array to ProviderSender[].
326
+ */
327
+ async getVerifiedSenders() {
328
+ try {
329
+ const response = await this.request('GET', '/senders?count=500&offset=0');
330
+ if (!response.ok) {
331
+ throw new errors_1.EmailSenderError('Failed to fetch sender signatures', {
332
+ code: errors_1.EmailSenderErrorCode.PROVIDER_ERROR,
333
+ context: { status: response.status },
334
+ });
335
+ }
336
+ const data = await response.json();
337
+ this.logger?.info(`Fetched ${data.SenderSignatures.length} sender signatures from Postmark`);
338
+ return data.SenderSignatures.map((sig) => ({
339
+ id: String(sig.ID),
340
+ email: sig.FromEmail,
341
+ name: sig.Name,
342
+ isVerified: sig.Confirmed,
343
+ verificationStatus: sig.Confirmed ? 'verified' : 'pending',
344
+ domain: sig.Domain,
345
+ metadata: {
346
+ replyToEmail: sig.ReplyToEmail,
347
+ dkimVerified: sig.DKIMVerified,
348
+ returnPathDomainVerified: sig.ReturnPathDomainVerified,
349
+ },
350
+ }));
351
+ }
352
+ catch (error) {
353
+ if (error instanceof errors_1.EmailSenderError) {
354
+ throw error;
355
+ }
356
+ throw new errors_1.EmailSenderError('Failed to get verified senders', {
357
+ cause: error instanceof Error ? error : new Error(String(error)),
358
+ code: errors_1.EmailSenderErrorCode.PROVIDER_ERROR,
359
+ });
360
+ }
361
+ }
362
+ /**
363
+ * Validate whether a sender email is verified in Postmark.
364
+ * Searches the list of senders for an exact email match and checks Confirmed status.
365
+ */
366
+ async validateSender(email) {
367
+ try {
368
+ const senders = await this.getVerifiedSenders();
369
+ const match = senders.find((s) => s.email.toLowerCase() === email.toLowerCase());
370
+ if (!match) {
371
+ return {
372
+ isVerified: false,
373
+ verificationStatus: 'not_found',
374
+ lastChecked: new Date(),
375
+ metadata: { email, senderCount: senders.length },
376
+ };
377
+ }
378
+ return {
379
+ isVerified: match.isVerified,
380
+ verificationStatus: match.verificationStatus,
381
+ lastChecked: new Date(),
382
+ metadata: {
383
+ senderId: match.id,
384
+ domain: match.domain,
385
+ ...match.metadata,
386
+ },
387
+ };
388
+ }
389
+ catch (error) {
390
+ if (error instanceof errors_1.EmailSenderError) {
391
+ throw error;
392
+ }
393
+ throw new errors_1.EmailSenderError('Failed to validate sender', {
394
+ cause: error instanceof Error ? error : new Error(String(error)),
395
+ code: errors_1.EmailSenderErrorCode.PROVIDER_ERROR,
396
+ context: { email },
397
+ });
398
+ }
399
+ }
400
+ /**
401
+ * Sync a local sender configuration with Postmark.
402
+ * Checks whether the signature still exists and returns sync result.
403
+ */
404
+ async syncSender(sender) {
405
+ try {
406
+ if (!sender.providerSenderId) {
407
+ return {
408
+ success: false,
409
+ senderId: sender.id,
410
+ synced: false,
411
+ message: 'No providerSenderId on sender configuration',
412
+ };
413
+ }
414
+ const response = await this.request('GET', `/senders/${sender.providerSenderId}`);
415
+ if (!response.ok) {
416
+ if (response.status === 404) {
417
+ return {
418
+ success: true,
419
+ senderId: sender.id,
420
+ synced: false,
421
+ message: `Sender signature ${sender.providerSenderId} not found in Postmark`,
422
+ };
423
+ }
424
+ return {
425
+ success: false,
426
+ senderId: sender.id,
427
+ synced: false,
428
+ error: `Postmark API returned ${response.status}`,
429
+ };
430
+ }
431
+ const data = await response.json();
432
+ return {
433
+ success: true,
434
+ senderId: sender.id,
435
+ synced: true,
436
+ message: data.Confirmed
437
+ ? 'Sender signature exists and is confirmed'
438
+ : 'Sender signature exists but is not yet confirmed',
439
+ };
440
+ }
441
+ catch (error) {
442
+ return {
443
+ success: false,
444
+ senderId: sender.id,
445
+ synced: false,
446
+ error: error instanceof Error ? error.message : String(error),
447
+ };
448
+ }
449
+ }
450
+ /**
451
+ * Postmark sender signature capabilities.
452
+ */
453
+ getCapabilities() {
454
+ return ['send', 'signature_verification', 'dkim', 'return_path'];
455
+ }
456
+ // ==========================================
457
+ // Private Helpers
458
+ // ==========================================
459
+ async request(method, path, body) {
460
+ const url = `${this.baseUrl}${path}`;
461
+ const headers = {
462
+ 'Accept': 'application/json',
463
+ 'Content-Type': 'application/json',
464
+ 'X-Postmark-Account-Token': this.accountToken,
465
+ };
466
+ this.logger?.debug(`Postmark ${method} ${path}`);
467
+ const options = { method, headers };
468
+ if (body !== undefined) {
469
+ options.body = JSON.stringify(body);
470
+ }
471
+ return fetch(url, options);
472
+ }
473
+ mapStatusToErrorCode(statusCode) {
474
+ switch (statusCode) {
475
+ case 400: return 'INVALID_EMAIL';
476
+ case 401: return 'AUTHENTICATION_FAILED';
477
+ case 403: return 'AUTHENTICATION_FAILED';
478
+ case 404: return 'SENDER_NOT_FOUND';
479
+ case 409: return 'SENDER_ALREADY_EXISTS';
480
+ case 422: return 'INVALID_EMAIL';
481
+ case 429: return 'RATE_LIMITED';
482
+ default: return 'PROVIDER_ERROR';
483
+ }
484
+ }
485
+ async safeParseJson(response) {
486
+ try {
487
+ return await response.json();
488
+ }
489
+ catch {
490
+ return null;
491
+ }
492
+ }
493
+ extractErrorMessage(body, status) {
494
+ if (body && typeof body['Message'] === 'string') {
495
+ return body['Message'];
496
+ }
497
+ if (body && typeof body['message'] === 'string') {
498
+ return body['message'];
499
+ }
500
+ return `Postmark API returned ${status}`;
501
+ }
502
+ /**
503
+ * Handle fetch-level errors (network failures, etc.) for create/update
504
+ * operations that return ProviderSenderResult instead of throwing.
505
+ */
506
+ handleFetchError(_operation, identifier, error) {
507
+ if (error instanceof errors_1.EmailSenderError) {
508
+ throw error;
509
+ }
510
+ throw new errors_1.EmailSenderError(`Postmark sender operation failed`, {
511
+ cause: error instanceof Error ? error : new Error(String(error)),
512
+ code: errors_1.EmailSenderErrorCode.NETWORK_ERROR,
513
+ context: { identifier },
514
+ });
515
+ }
516
+ }
517
+ exports.PostmarkSenderManager = PostmarkSenderManager;
518
+ //# sourceMappingURL=sender-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sender-manager.js","sourceRoot":"","sources":["../../../src/providers/postmark/sender-manager.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { EmailProvider } from './base';
6
6
  import { type EmailMessage, type SendResult, type EmailProviderConfig, type EmailProviderCapabilities, type EmailValidationResult, type EmailTemplate, type DeliveryStatus, type WebhookEvent } from '../types';
7
+ import { PostmarkSenderManager } from './postmark/sender-manager';
7
8
  interface PostmarkConfig extends EmailProviderConfig {
8
9
  provider: 'postmark';
9
10
  apiKey: string;
@@ -13,6 +14,7 @@ interface PostmarkConfig extends EmailProviderConfig {
13
14
  }
14
15
  export declare class PostmarkProvider extends EmailProvider {
15
16
  private baseUrl;
17
+ readonly senderManager: PostmarkSenderManager;
16
18
  constructor(config: PostmarkConfig);
17
19
  sendEmail(message: EmailMessage): Promise<SendResult>;
18
20
  sendBatch(emails: EmailMessage[]): Promise<SendResult[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"postmark.d.ts","sourceRoot":"","sources":["../../src/providers/postmark.ts"],"names":[],"mappings":"AAQA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EAElB,MAAM,UAAU,CAAC;AAElB,UAAU,cAAe,SAAQ,mBAAmB;IAClD,QAAQ,EAAE,UAAU,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2BD,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,cAAc;IAK5B,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IA2CrD,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YA0BhD,cAAc;IAwDb,iBAAiB,CAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,OAAO,CAAC,UAAU,CAAC;IAuDP,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BzG,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BtD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjD,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA2C9D,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IA8BhC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAiCpE,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAM1E,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBxC,qBAAqB,IAAI,qBAAqB;IAuB9C,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,qBAAqB;IAmClE,eAAe,IAAI,yBAAyB;IA4BrD,OAAO,CAAC,wBAAwB;IA4DhC,OAAO,CAAC,iCAAiC;IAyBzC,OAAO,CAAC,mBAAmB;CAqB5B"}
1
+ {"version":3,"file":"postmark.d.ts","sourceRoot":"","sources":["../../src/providers/postmark.ts"],"names":[],"mappings":"AAQA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EAElB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,UAAU,cAAe,SAAQ,mBAAmB;IAClD,QAAQ,EAAE,UAAU,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2BD,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,OAAO,CAAC,OAAO,CAAS;IACxB,SAAgB,aAAa,EAAE,qBAAqB,CAAC;gBAEzC,MAAM,EAAE,cAAc;IAO5B,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IA2CrD,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YA0BhD,cAAc;IAwDb,iBAAiB,CAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,OAAO,CAAC,UAAU,CAAC;IAuDP,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BzG,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BtD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjD,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA2C9D,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IA8BhC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAiCpE,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAM1E,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBxC,qBAAqB,IAAI,qBAAqB;IAuB9C,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,qBAAqB;IAmClE,eAAe,IAAI,yBAAyB;IA4BrD,OAAO,CAAC,wBAAwB;IA4DhC,OAAO,CAAC,iCAAiC;IAyBzC,OAAO,CAAC,mBAAmB;CAqB5B"}
@@ -14,10 +14,13 @@ exports.PostmarkProvider = void 0;
14
14
  */
15
15
  const base_1 = require("./base");
16
16
  const types_1 = require("../types");
17
+ const sender_manager_1 = require("./postmark/sender-manager");
17
18
  class PostmarkProvider extends base_1.EmailProvider {
18
19
  constructor(config) {
19
20
  super(config);
20
21
  this.baseUrl = this.config.endpoint || 'https://api.postmarkapp.com';
22
+ const accountToken = (this.config.accountToken || this.config.apiKey);
23
+ this.senderManager = new sender_manager_1.PostmarkSenderManager(accountToken, this.baseUrl);
21
24
  }
22
25
  async sendEmail(message) {
23
26
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"postmark.js","sourceRoot":"","sources":["../../src/providers/postmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postmark.js","sourceRoot":"","sources":["../../src/providers/postmark.ts"],"names":[],"mappings":"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"}