hazo_notify 1.0.2 → 1.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 +1 -5
- package/data/templates/email_signature.html +11 -0
- package/data/templates/email_signature.txt +4 -0
- package/data/templates/email_verification.html +64 -0
- package/data/templates/email_verification.txt +11 -0
- package/data/templates/forgot_password.html +64 -0
- package/data/templates/forgot_password.txt +11 -0
- package/data/templates/manifest.json +86 -0
- package/data/templates/welcome_email.html +54 -0
- package/data/templates/welcome_email.txt +8 -0
- package/dist/emailer/emailer.d.ts +1 -1
- package/dist/emailer/emailer.d.ts.map +1 -1
- package/dist/emailer/emailer.js +19 -9
- package/dist/emailer/emailer.js.map +1 -1
- package/dist/emailer/index.d.ts +1 -0
- package/dist/emailer/index.d.ts.map +1 -1
- package/dist/emailer/index.js +5 -1
- package/dist/emailer/index.js.map +1 -1
- package/dist/emailer/providers/pop3_provider.d.ts +3 -2
- package/dist/emailer/providers/pop3_provider.d.ts.map +1 -1
- package/dist/emailer/providers/pop3_provider.js +2 -1
- package/dist/emailer/providers/pop3_provider.js.map +1 -1
- package/dist/emailer/providers/smtp_provider.d.ts +3 -2
- package/dist/emailer/providers/smtp_provider.d.ts.map +1 -1
- package/dist/emailer/providers/smtp_provider.js +2 -1
- package/dist/emailer/providers/smtp_provider.js.map +1 -1
- package/dist/emailer/providers/zeptomail_provider.d.ts +3 -2
- package/dist/emailer/providers/zeptomail_provider.d.ts.map +1 -1
- package/dist/emailer/providers/zeptomail_provider.js +24 -11
- package/dist/emailer/providers/zeptomail_provider.js.map +1 -1
- package/dist/emailer/types.d.ts +13 -1
- package/dist/emailer/types.d.ts.map +1 -1
- package/dist/emailer/utils/logger.d.ts +22 -14
- package/dist/emailer/utils/logger.d.ts.map +1 -1
- package/dist/emailer/utils/logger.js +51 -13
- package/dist/emailer/utils/logger.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/template_manager/config/config_loader.d.ts +48 -0
- package/dist/template_manager/config/config_loader.d.ts.map +1 -0
- package/dist/template_manager/config/config_loader.js +161 -0
- package/dist/template_manager/config/config_loader.js.map +1 -0
- package/dist/template_manager/config/constants.d.ts +101 -0
- package/dist/template_manager/config/constants.d.ts.map +1 -0
- package/dist/template_manager/config/constants.js +163 -0
- package/dist/template_manager/config/constants.js.map +1 -0
- package/dist/template_manager/config/index.d.ts +6 -0
- package/dist/template_manager/config/index.d.ts.map +1 -0
- package/dist/{lib/emailer/utils → template_manager/config}/index.js +4 -4
- package/dist/template_manager/config/index.js.map +1 -0
- package/dist/template_manager/db/category_repository.d.ts +57 -0
- package/dist/template_manager/db/category_repository.d.ts.map +1 -0
- package/dist/template_manager/db/category_repository.js +326 -0
- package/dist/template_manager/db/category_repository.js.map +1 -0
- package/dist/template_manager/db/index.d.ts +6 -0
- package/dist/template_manager/db/index.d.ts.map +1 -0
- package/dist/template_manager/db/index.js +23 -0
- package/dist/template_manager/db/index.js.map +1 -0
- package/dist/template_manager/db/template_repository.d.ts +76 -0
- package/dist/template_manager/db/template_repository.d.ts.map +1 -0
- package/dist/template_manager/db/template_repository.js +684 -0
- package/dist/template_manager/db/template_repository.js.map +1 -0
- package/dist/template_manager/engine/handlebars_engine.d.ts +52 -0
- package/dist/template_manager/engine/handlebars_engine.d.ts.map +1 -0
- package/dist/template_manager/engine/handlebars_engine.js +175 -0
- package/dist/template_manager/engine/handlebars_engine.js.map +1 -0
- package/dist/template_manager/engine/index.d.ts +6 -0
- package/dist/template_manager/engine/index.d.ts.map +1 -0
- package/dist/template_manager/engine/index.js +19 -0
- package/dist/template_manager/engine/index.js.map +1 -0
- package/dist/template_manager/engine/variable_resolver.d.ts +48 -0
- package/dist/template_manager/engine/variable_resolver.d.ts.map +1 -0
- package/dist/template_manager/engine/variable_resolver.js +223 -0
- package/dist/template_manager/engine/variable_resolver.js.map +1 -0
- package/dist/template_manager/index.d.ts +32 -0
- package/dist/template_manager/index.d.ts.map +1 -0
- package/dist/template_manager/index.js +88 -0
- package/dist/template_manager/index.js.map +1 -0
- package/dist/template_manager/template_manager.d.ts +69 -0
- package/dist/template_manager/template_manager.d.ts.map +1 -0
- package/dist/template_manager/template_manager.js +335 -0
- package/dist/template_manager/template_manager.js.map +1 -0
- package/dist/template_manager/types.d.ts +255 -0
- package/dist/template_manager/types.d.ts.map +1 -0
- package/dist/template_manager/types.js +12 -0
- package/dist/template_manager/types.js.map +1 -0
- package/dist/template_manager/utils/index.d.ts +6 -0
- package/dist/template_manager/utils/index.d.ts.map +1 -0
- package/dist/template_manager/utils/index.js +21 -0
- package/dist/template_manager/utils/index.js.map +1 -0
- package/dist/template_manager/utils/system_variables.d.ts +28 -0
- package/dist/template_manager/utils/system_variables.d.ts.map +1 -0
- package/dist/template_manager/utils/system_variables.js +209 -0
- package/dist/template_manager/utils/system_variables.js.map +1 -0
- package/dist/template_manager/utils/validation.d.ts +74 -0
- package/dist/template_manager/utils/validation.d.ts.map +1 -0
- package/dist/template_manager/utils/validation.js +163 -0
- package/dist/template_manager/utils/validation.js.map +1 -0
- package/hazo_notify_config.ini +39 -0
- package/package.json +69 -21
- package/dist/lib/emailer/emailer.d.ts +0 -19
- package/dist/lib/emailer/emailer.d.ts.map +0 -1
- package/dist/lib/emailer/emailer.js +0 -220
- package/dist/lib/emailer/emailer.js.map +0 -1
- package/dist/lib/emailer/index.d.ts +0 -11
- package/dist/lib/emailer/index.d.ts.map +0 -1
- package/dist/lib/emailer/index.js +0 -34
- package/dist/lib/emailer/index.js.map +0 -1
- package/dist/lib/emailer/providers/index.d.ts +0 -15
- package/dist/lib/emailer/providers/index.d.ts.map +0 -1
- package/dist/lib/emailer/providers/index.js +0 -36
- package/dist/lib/emailer/providers/index.js.map +0 -1
- package/dist/lib/emailer/providers/pop3_provider.d.ts +0 -15
- package/dist/lib/emailer/providers/pop3_provider.d.ts.map +0 -1
- package/dist/lib/emailer/providers/pop3_provider.js +0 -29
- package/dist/lib/emailer/providers/pop3_provider.js.map +0 -1
- package/dist/lib/emailer/providers/smtp_provider.d.ts +0 -15
- package/dist/lib/emailer/providers/smtp_provider.d.ts.map +0 -1
- package/dist/lib/emailer/providers/smtp_provider.js +0 -29
- package/dist/lib/emailer/providers/smtp_provider.js.map +0 -1
- package/dist/lib/emailer/providers/zeptomail_provider.d.ts +0 -15
- package/dist/lib/emailer/providers/zeptomail_provider.d.ts.map +0 -1
- package/dist/lib/emailer/providers/zeptomail_provider.js +0 -250
- package/dist/lib/emailer/providers/zeptomail_provider.js.map +0 -1
- package/dist/lib/emailer/types.d.ts +0 -94
- package/dist/lib/emailer/types.d.ts.map +0 -1
- package/dist/lib/emailer/types.js +0 -6
- package/dist/lib/emailer/types.js.map +0 -1
- package/dist/lib/emailer/utils/constants.d.ts +0 -14
- package/dist/lib/emailer/utils/constants.d.ts.map +0 -1
- package/dist/lib/emailer/utils/constants.js +0 -22
- package/dist/lib/emailer/utils/constants.js.map +0 -1
- package/dist/lib/emailer/utils/index.d.ts +0 -8
- package/dist/lib/emailer/utils/index.d.ts.map +0 -1
- package/dist/lib/emailer/utils/index.js.map +0 -1
- package/dist/lib/emailer/utils/logger.d.ts +0 -37
- package/dist/lib/emailer/utils/logger.d.ts.map +0 -1
- package/dist/lib/emailer/utils/logger.js +0 -60
- package/dist/lib/emailer/utils/logger.js.map +0 -1
- package/dist/lib/emailer/utils/validation.d.ts +0 -37
- package/dist/lib/emailer/utils/validation.d.ts.map +0 -1
- package/dist/lib/emailer/utils/validation.js +0 -81
- package/dist/lib/emailer/utils/validation.js.map +0 -1
- package/dist/lib/index.d.ts +0 -6
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/index.js +0 -22
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -3
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -9
- package/dist/lib/utils.js.map +0 -1
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Emailer service exports
|
|
4
|
-
* Main entry point for the emailer library
|
|
5
|
-
*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
-
};
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.Pop3Provider = exports.SmtpProvider = exports.ZeptomailProvider = exports.get_email_provider = exports.load_emailer_config = exports.send_email = void 0;
|
|
22
|
-
var emailer_1 = require("./emailer");
|
|
23
|
-
Object.defineProperty(exports, "send_email", { enumerable: true, get: function () { return emailer_1.send_email; } });
|
|
24
|
-
Object.defineProperty(exports, "load_emailer_config", { enumerable: true, get: function () { return emailer_1.load_emailer_config; } });
|
|
25
|
-
__exportStar(require("./types"), exports);
|
|
26
|
-
var providers_1 = require("./providers");
|
|
27
|
-
Object.defineProperty(exports, "get_email_provider", { enumerable: true, get: function () { return providers_1.get_email_provider; } });
|
|
28
|
-
var zeptomail_provider_1 = require("./providers/zeptomail_provider");
|
|
29
|
-
Object.defineProperty(exports, "ZeptomailProvider", { enumerable: true, get: function () { return zeptomail_provider_1.ZeptomailProvider; } });
|
|
30
|
-
var smtp_provider_1 = require("./providers/smtp_provider");
|
|
31
|
-
Object.defineProperty(exports, "SmtpProvider", { enumerable: true, get: function () { return smtp_provider_1.SmtpProvider; } });
|
|
32
|
-
var pop3_provider_1 = require("./providers/pop3_provider");
|
|
33
|
-
Object.defineProperty(exports, "Pop3Provider", { enumerable: true, get: function () { return pop3_provider_1.Pop3Provider; } });
|
|
34
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/emailer/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,qCAA4D;AAAnD,qGAAA,UAAU,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AACxC,0CAAwB;AACxB,yCAAiD;AAAxC,+GAAA,kBAAkB,OAAA;AAC3B,qEAAmE;AAA1D,uHAAA,iBAAiB,OAAA;AAC1B,2DAAyD;AAAhD,6GAAA,YAAY,OAAA;AACrB,2DAAyD;AAAhD,6GAAA,YAAY,OAAA"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provider factory for email providers
|
|
3
|
-
* Selects and returns the appropriate provider based on configuration
|
|
4
|
-
*/
|
|
5
|
-
import { EmailProvider, EmailerConfig } from '../types';
|
|
6
|
-
/**
|
|
7
|
-
* Get email provider based on configuration module
|
|
8
|
-
* @param config - Emailer configuration
|
|
9
|
-
* @returns Email provider instance
|
|
10
|
-
*/
|
|
11
|
-
export declare function get_email_provider(config: EmailerConfig): EmailProvider;
|
|
12
|
-
export { ZeptomailProvider } from './zeptomail_provider';
|
|
13
|
-
export { SmtpProvider } from './smtp_provider';
|
|
14
|
-
export { Pop3Provider } from './pop3_provider';
|
|
15
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/emailer/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAiB,MAAM,UAAU,CAAC;AAKvE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAavE;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Provider factory for email providers
|
|
4
|
-
* Selects and returns the appropriate provider based on configuration
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.Pop3Provider = exports.SmtpProvider = exports.ZeptomailProvider = void 0;
|
|
8
|
-
exports.get_email_provider = get_email_provider;
|
|
9
|
-
const zeptomail_provider_1 = require("./zeptomail_provider");
|
|
10
|
-
const smtp_provider_1 = require("./smtp_provider");
|
|
11
|
-
const pop3_provider_1 = require("./pop3_provider");
|
|
12
|
-
/**
|
|
13
|
-
* Get email provider based on configuration module
|
|
14
|
-
* @param config - Emailer configuration
|
|
15
|
-
* @returns Email provider instance
|
|
16
|
-
*/
|
|
17
|
-
function get_email_provider(config) {
|
|
18
|
-
const emailer_module = config.emailer_module || 'zeptoemail_api';
|
|
19
|
-
switch (emailer_module) {
|
|
20
|
-
case 'zeptoemail_api':
|
|
21
|
-
return new zeptomail_provider_1.ZeptomailProvider();
|
|
22
|
-
case 'smtp':
|
|
23
|
-
return new smtp_provider_1.SmtpProvider();
|
|
24
|
-
case 'pop3':
|
|
25
|
-
return new pop3_provider_1.Pop3Provider();
|
|
26
|
-
default:
|
|
27
|
-
throw new Error(`Unsupported emailer module: ${emailer_module}`);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
var zeptomail_provider_2 = require("./zeptomail_provider");
|
|
31
|
-
Object.defineProperty(exports, "ZeptomailProvider", { enumerable: true, get: function () { return zeptomail_provider_2.ZeptomailProvider; } });
|
|
32
|
-
var smtp_provider_2 = require("./smtp_provider");
|
|
33
|
-
Object.defineProperty(exports, "SmtpProvider", { enumerable: true, get: function () { return smtp_provider_2.SmtpProvider; } });
|
|
34
|
-
var pop3_provider_2 = require("./pop3_provider");
|
|
35
|
-
Object.defineProperty(exports, "Pop3Provider", { enumerable: true, get: function () { return pop3_provider_2.Pop3Provider; } });
|
|
36
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/emailer/providers/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAYH,gDAaC;AAtBD,6DAAyD;AACzD,mDAA+C;AAC/C,mDAA+C;AAE/C;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,MAAqB;IACtD,MAAM,cAAc,GAAkB,MAAM,CAAC,cAAc,IAAI,gBAAgB,CAAC;IAEhF,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,gBAAgB;YACnB,OAAO,IAAI,sCAAiB,EAAE,CAAC;QACjC,KAAK,MAAM;YACT,OAAO,IAAI,4BAAY,EAAE,CAAC;QAC5B,KAAK,MAAM;YACT,OAAO,IAAI,4BAAY,EAAE,CAAC;QAC5B;YACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* POP3 provider implementation (placeholder)
|
|
3
|
-
* This provider is not yet implemented and will return an error
|
|
4
|
-
*/
|
|
5
|
-
import { EmailProvider, SendEmailOptions, EmailerConfig, EmailSendResponse } from '../types';
|
|
6
|
-
export declare class Pop3Provider implements EmailProvider {
|
|
7
|
-
/**
|
|
8
|
-
* Send email using POP3 (not implemented)
|
|
9
|
-
* @param options - Email send options
|
|
10
|
-
* @param config - Emailer configuration
|
|
11
|
-
* @returns Promise with error response
|
|
12
|
-
*/
|
|
13
|
-
send_email(options: SendEmailOptions, config: EmailerConfig): Promise<EmailSendResponse>;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=pop3_provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pop3_provider.d.ts","sourceRoot":"","sources":["../../../../src/lib/emailer/providers/pop3_provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7F,qBAAa,YAAa,YAAW,aAAa;IAChD;;;;;OAKG;IACG,UAAU,CACd,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,iBAAiB,CAAC;CAY9B"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* POP3 provider implementation (placeholder)
|
|
4
|
-
* This provider is not yet implemented and will return an error
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.Pop3Provider = void 0;
|
|
8
|
-
class Pop3Provider {
|
|
9
|
-
/**
|
|
10
|
-
* Send email using POP3 (not implemented)
|
|
11
|
-
* @param options - Email send options
|
|
12
|
-
* @param config - Emailer configuration
|
|
13
|
-
* @returns Promise with error response
|
|
14
|
-
*/
|
|
15
|
-
async send_email(options, config) {
|
|
16
|
-
return {
|
|
17
|
-
success: false,
|
|
18
|
-
error: 'POP3 provider is not yet implemented',
|
|
19
|
-
message: 'POP3 provider is not yet implemented. Please use API method instead.',
|
|
20
|
-
raw_response: {
|
|
21
|
-
provider: 'pop3',
|
|
22
|
-
status: 'not_implemented',
|
|
23
|
-
message: 'POP3 provider is a placeholder and will be implemented in a future version',
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.Pop3Provider = Pop3Provider;
|
|
29
|
-
//# sourceMappingURL=pop3_provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pop3_provider.js","sourceRoot":"","sources":["../../../../src/lib/emailer/providers/pop3_provider.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,MAAa,YAAY;IACvB;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACd,OAAyB,EACzB,MAAqB;QAErB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,sCAAsC;YAC7C,OAAO,EAAE,sEAAsE;YAC/E,YAAY,EAAE;gBACZ,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,iBAAiB;gBACzB,OAAO,EAAE,4EAA4E;aACtF;SACF,CAAC;IACJ,CAAC;CACF;AAtBD,oCAsBC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SMTP provider implementation (placeholder)
|
|
3
|
-
* This provider is not yet implemented and will return an error
|
|
4
|
-
*/
|
|
5
|
-
import { EmailProvider, SendEmailOptions, EmailerConfig, EmailSendResponse } from '../types';
|
|
6
|
-
export declare class SmtpProvider implements EmailProvider {
|
|
7
|
-
/**
|
|
8
|
-
* Send email using SMTP (not implemented)
|
|
9
|
-
* @param options - Email send options
|
|
10
|
-
* @param config - Emailer configuration
|
|
11
|
-
* @returns Promise with error response
|
|
12
|
-
*/
|
|
13
|
-
send_email(options: SendEmailOptions, config: EmailerConfig): Promise<EmailSendResponse>;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=smtp_provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"smtp_provider.d.ts","sourceRoot":"","sources":["../../../../src/lib/emailer/providers/smtp_provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7F,qBAAa,YAAa,YAAW,aAAa;IAChD;;;;;OAKG;IACG,UAAU,CACd,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,iBAAiB,CAAC;CAY9B"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* SMTP provider implementation (placeholder)
|
|
4
|
-
* This provider is not yet implemented and will return an error
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.SmtpProvider = void 0;
|
|
8
|
-
class SmtpProvider {
|
|
9
|
-
/**
|
|
10
|
-
* Send email using SMTP (not implemented)
|
|
11
|
-
* @param options - Email send options
|
|
12
|
-
* @param config - Emailer configuration
|
|
13
|
-
* @returns Promise with error response
|
|
14
|
-
*/
|
|
15
|
-
async send_email(options, config) {
|
|
16
|
-
return {
|
|
17
|
-
success: false,
|
|
18
|
-
error: 'SMTP provider is not yet implemented',
|
|
19
|
-
message: 'SMTP provider is not yet implemented. Please use API method instead.',
|
|
20
|
-
raw_response: {
|
|
21
|
-
provider: 'smtp',
|
|
22
|
-
status: 'not_implemented',
|
|
23
|
-
message: 'SMTP provider is a placeholder and will be implemented in a future version',
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.SmtpProvider = SmtpProvider;
|
|
29
|
-
//# sourceMappingURL=smtp_provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"smtp_provider.js","sourceRoot":"","sources":["../../../../src/lib/emailer/providers/smtp_provider.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,MAAa,YAAY;IACvB;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACd,OAAyB,EACzB,MAAqB;QAErB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,sCAAsC;YAC7C,OAAO,EAAE,sEAAsE;YAC/E,YAAY,EAAE;gBACZ,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,iBAAiB;gBACzB,OAAO,EAAE,4EAA4E;aACtF;SACF,CAAC;IACJ,CAAC;CACF;AAtBD,oCAsBC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Zeptomail API provider implementation
|
|
3
|
-
* Sends emails using the Zeptomail API
|
|
4
|
-
*/
|
|
5
|
-
import { EmailProvider, SendEmailOptions, EmailerConfig, EmailSendResponse } from '../types';
|
|
6
|
-
export declare class ZeptomailProvider implements EmailProvider {
|
|
7
|
-
/**
|
|
8
|
-
* Send email using Zeptomail API
|
|
9
|
-
* @param options - Email send options
|
|
10
|
-
* @param config - Emailer configuration
|
|
11
|
-
* @returns Promise with email send response
|
|
12
|
-
*/
|
|
13
|
-
send_email(options: SendEmailOptions, config: EmailerConfig): Promise<EmailSendResponse>;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=zeptomail_provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zeptomail_provider.d.ts","sourceRoot":"","sources":["../../../../src/lib/emailer/providers/zeptomail_provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAsB,MAAM,UAAU,CAAC;AAMjH,qBAAa,iBAAkB,YAAW,aAAa;IACrD;;;;;OAKG;IACG,UAAU,CACd,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,iBAAiB,CAAC;CAqR9B"}
|
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Zeptomail API provider implementation
|
|
4
|
-
* Sends emails using the Zeptomail API
|
|
5
|
-
*/
|
|
6
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
-
};
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.ZeptomailProvider = void 0;
|
|
11
|
-
const validation_1 = require("../utils/validation");
|
|
12
|
-
const logger_1 = require("../utils/logger");
|
|
13
|
-
const isomorphic_dompurify_1 = __importDefault(require("isomorphic-dompurify"));
|
|
14
|
-
const constants_1 = require("../utils/constants");
|
|
15
|
-
class ZeptomailProvider {
|
|
16
|
-
/**
|
|
17
|
-
* Send email using Zeptomail API
|
|
18
|
-
* @param options - Email send options
|
|
19
|
-
* @param config - Emailer configuration
|
|
20
|
-
* @returns Promise with email send response
|
|
21
|
-
*/
|
|
22
|
-
async send_email(options, config) {
|
|
23
|
-
const filename = 'zeptomail_provider.ts';
|
|
24
|
-
const function_name = 'send_email';
|
|
25
|
-
try {
|
|
26
|
-
// Validate required configuration
|
|
27
|
-
if (!config.zeptomail_api_endpoint) {
|
|
28
|
-
throw new Error('Zeptomail API endpoint is required');
|
|
29
|
-
}
|
|
30
|
-
if (!config.zeptomail_api_key) {
|
|
31
|
-
throw new Error('Zeptomail API key is required');
|
|
32
|
-
}
|
|
33
|
-
// Prepare recipient array
|
|
34
|
-
const to_emails = Array.isArray(options.to) ? options.to : [options.to];
|
|
35
|
-
const cc_emails = options.cc ? (Array.isArray(options.cc) ? options.cc : [options.cc]) : [];
|
|
36
|
-
const bcc_emails = options.bcc ? (Array.isArray(options.bcc) ? options.bcc : [options.bcc]) : [];
|
|
37
|
-
// Prepare email data according to Zeptomail API format
|
|
38
|
-
const email_data = {
|
|
39
|
-
from: {
|
|
40
|
-
address: options.from || config.from_email,
|
|
41
|
-
name: (0, validation_1.sanitize_email_header)(options.from_name || config.from_name || 'Hazo Notify'),
|
|
42
|
-
},
|
|
43
|
-
to: to_emails.map((email) => ({
|
|
44
|
-
email_address: {
|
|
45
|
-
address: email,
|
|
46
|
-
},
|
|
47
|
-
})),
|
|
48
|
-
subject: (0, validation_1.sanitize_email_header)(options.subject),
|
|
49
|
-
};
|
|
50
|
-
// Add content (text and/or html)
|
|
51
|
-
if (options.content.text) {
|
|
52
|
-
email_data.textbody = options.content.text;
|
|
53
|
-
}
|
|
54
|
-
if (options.content.html) {
|
|
55
|
-
// Sanitize HTML content to prevent XSS attacks
|
|
56
|
-
email_data.htmlbody = isomorphic_dompurify_1.default.sanitize(options.content.html);
|
|
57
|
-
}
|
|
58
|
-
// Add reply-to if specified
|
|
59
|
-
if (options.reply_to || config.reply_to_email) {
|
|
60
|
-
email_data.reply_to = [
|
|
61
|
-
{
|
|
62
|
-
address: (0, validation_1.sanitize_email_header)(options.reply_to || config.reply_to_email || ''),
|
|
63
|
-
},
|
|
64
|
-
];
|
|
65
|
-
}
|
|
66
|
-
// Add CC if specified
|
|
67
|
-
if (cc_emails.length > 0) {
|
|
68
|
-
email_data.cc = cc_emails.map((email) => ({
|
|
69
|
-
email_address: {
|
|
70
|
-
address: email,
|
|
71
|
-
},
|
|
72
|
-
}));
|
|
73
|
-
}
|
|
74
|
-
// Add BCC if specified
|
|
75
|
-
if (bcc_emails.length > 0) {
|
|
76
|
-
email_data.bcc = bcc_emails.map((email) => ({
|
|
77
|
-
email_address: {
|
|
78
|
-
address: email,
|
|
79
|
-
},
|
|
80
|
-
}));
|
|
81
|
-
}
|
|
82
|
-
// Add attachments if specified
|
|
83
|
-
if (options.attachments && options.attachments.length > 0) {
|
|
84
|
-
email_data.attachments = options.attachments.map((attachment) => ({
|
|
85
|
-
name: attachment.filename,
|
|
86
|
-
content: attachment.content,
|
|
87
|
-
mime_type: attachment.mime_type,
|
|
88
|
-
}));
|
|
89
|
-
}
|
|
90
|
-
// Prepare request headers
|
|
91
|
-
// Handle API key - it may already include the "Zoho-enczapikey" prefix or just be the key
|
|
92
|
-
const api_key = config.zeptomail_api_key.trim();
|
|
93
|
-
const auth_header = api_key.startsWith('Zoho-enczapikey')
|
|
94
|
-
? api_key
|
|
95
|
-
: `Zoho-enczapikey ${api_key}`;
|
|
96
|
-
const headers = {
|
|
97
|
-
'Accept': 'application/json',
|
|
98
|
-
'Content-Type': 'application/json',
|
|
99
|
-
'Authorization': auth_header,
|
|
100
|
-
};
|
|
101
|
-
// Log request for debugging (mask API key in logs)
|
|
102
|
-
(0, logger_1.log_info)((0, logger_1.create_log_entry)(filename, function_name, 'Sending email via Zeptomail API', {
|
|
103
|
-
endpoint: config.zeptomail_api_endpoint,
|
|
104
|
-
method: 'POST',
|
|
105
|
-
headers: {
|
|
106
|
-
...headers,
|
|
107
|
-
Authorization: headers.Authorization ? 'Zoho-enczapikey ***' : undefined, // Mask API key
|
|
108
|
-
},
|
|
109
|
-
body: {
|
|
110
|
-
from: email_data.from,
|
|
111
|
-
to_count: email_data.to.length,
|
|
112
|
-
subject: email_data.subject,
|
|
113
|
-
has_text: !!email_data.textbody,
|
|
114
|
-
has_html: !!email_data.htmlbody,
|
|
115
|
-
attachments_count: email_data.attachments?.length || 0,
|
|
116
|
-
},
|
|
117
|
-
}));
|
|
118
|
-
// Set up request timeout
|
|
119
|
-
const timeout = config.request_timeout || constants_1.DEFAULT_REQUEST_TIMEOUT;
|
|
120
|
-
const controller = new AbortController();
|
|
121
|
-
const timeout_id = setTimeout(() => controller.abort(), timeout);
|
|
122
|
-
try {
|
|
123
|
-
// Make API request
|
|
124
|
-
const response = await fetch(config.zeptomail_api_endpoint, {
|
|
125
|
-
method: 'POST',
|
|
126
|
-
headers: headers,
|
|
127
|
-
body: JSON.stringify(email_data),
|
|
128
|
-
signal: controller.signal,
|
|
129
|
-
});
|
|
130
|
-
clearTimeout(timeout_id);
|
|
131
|
-
// Parse response (handle both JSON and text responses)
|
|
132
|
-
let response_data;
|
|
133
|
-
const content_type = response.headers.get('content-type') || '';
|
|
134
|
-
// Get response text first for better error handling
|
|
135
|
-
const response_text = await response.text();
|
|
136
|
-
if (content_type.includes('application/json')) {
|
|
137
|
-
try {
|
|
138
|
-
response_data = JSON.parse(response_text);
|
|
139
|
-
}
|
|
140
|
-
catch (e) {
|
|
141
|
-
response_data = { error: 'Failed to parse JSON response', raw: response_text };
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
// For HTML/text responses, try to extract error information
|
|
146
|
-
response_data = {
|
|
147
|
-
text: response_text,
|
|
148
|
-
error: response_text.trim() || 'Unknown error from server'
|
|
149
|
-
};
|
|
150
|
-
// Log the full response for debugging
|
|
151
|
-
(0, logger_1.log_error)((0, logger_1.create_log_entry)(filename, function_name, 'Zeptomail API returned non-JSON response', {
|
|
152
|
-
status: response.status,
|
|
153
|
-
statusText: response.statusText,
|
|
154
|
-
contentType: content_type,
|
|
155
|
-
body: response_text,
|
|
156
|
-
headers: Object.fromEntries(response.headers.entries()),
|
|
157
|
-
}));
|
|
158
|
-
}
|
|
159
|
-
const raw_response = {
|
|
160
|
-
status: response.status,
|
|
161
|
-
status_text: response.statusText,
|
|
162
|
-
headers: Object.fromEntries(response.headers.entries()),
|
|
163
|
-
body: response_data,
|
|
164
|
-
};
|
|
165
|
-
// Check if request was successful
|
|
166
|
-
if (!response.ok) {
|
|
167
|
-
const response_obj = typeof response_data === 'object' ? response_data : {};
|
|
168
|
-
const error_message = response_obj.message ||
|
|
169
|
-
response_obj.error ||
|
|
170
|
-
(typeof response_data === 'string' ? response_data : '') ||
|
|
171
|
-
`HTTP ${response.status}: ${response.statusText}`;
|
|
172
|
-
// Enhanced error logging
|
|
173
|
-
(0, logger_1.log_error)((0, logger_1.create_log_entry)(filename, function_name, 'Zeptomail API error', {
|
|
174
|
-
status: response.status,
|
|
175
|
-
error_message,
|
|
176
|
-
response_body: response_data,
|
|
177
|
-
}));
|
|
178
|
-
const is_production = process.env.NODE_ENV === 'production';
|
|
179
|
-
return {
|
|
180
|
-
success: false,
|
|
181
|
-
error: error_message,
|
|
182
|
-
raw_response: is_production ? { status: response.status, status_text: response.statusText } : raw_response,
|
|
183
|
-
message: error_message,
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
// Return successful response
|
|
187
|
-
const response_obj = typeof response_data === 'object' ? response_data : {};
|
|
188
|
-
const data = response_obj.data;
|
|
189
|
-
return {
|
|
190
|
-
success: true,
|
|
191
|
-
message_id: data?.message_id || response_obj.message_id || undefined,
|
|
192
|
-
message: 'Email sent successfully',
|
|
193
|
-
raw_response: raw_response,
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
catch (fetch_error) {
|
|
197
|
-
clearTimeout(timeout_id);
|
|
198
|
-
// Handle timeout errors
|
|
199
|
-
if (fetch_error instanceof Error && fetch_error.name === 'AbortError') {
|
|
200
|
-
const timeout_error = `Request timeout after ${timeout}ms`;
|
|
201
|
-
(0, logger_1.log_error)((0, logger_1.create_log_entry)(filename, function_name, timeout_error, {
|
|
202
|
-
options: {
|
|
203
|
-
to: options.to,
|
|
204
|
-
subject: options.subject,
|
|
205
|
-
has_text: !!options.content.text,
|
|
206
|
-
has_html: !!options.content.html,
|
|
207
|
-
attachments_count: options.attachments?.length || 0,
|
|
208
|
-
},
|
|
209
|
-
}));
|
|
210
|
-
return {
|
|
211
|
-
success: false,
|
|
212
|
-
error: timeout_error,
|
|
213
|
-
message: timeout_error,
|
|
214
|
-
raw_response: undefined,
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
// Re-throw to be caught by outer catch
|
|
218
|
-
throw fetch_error;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
catch (error) {
|
|
222
|
-
const error_message = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
223
|
-
const error_string = error instanceof Error ? error.toString() : String(error);
|
|
224
|
-
const stack = error instanceof Error ? error.stack : undefined;
|
|
225
|
-
const is_production = process.env.NODE_ENV === 'production';
|
|
226
|
-
(0, logger_1.log_error)((0, logger_1.create_log_entry)(filename, function_name, error_message, {
|
|
227
|
-
line_number: stack || 'unknown',
|
|
228
|
-
error: error_string,
|
|
229
|
-
options: {
|
|
230
|
-
to: options.to,
|
|
231
|
-
subject: options.subject,
|
|
232
|
-
has_text: !!options.content.text,
|
|
233
|
-
has_html: !!options.content.html,
|
|
234
|
-
attachments_count: options.attachments?.length || 0,
|
|
235
|
-
},
|
|
236
|
-
}));
|
|
237
|
-
return {
|
|
238
|
-
success: false,
|
|
239
|
-
error: error_message,
|
|
240
|
-
message: error_message,
|
|
241
|
-
raw_response: is_production ? undefined : {
|
|
242
|
-
error: error_string,
|
|
243
|
-
stack: stack,
|
|
244
|
-
},
|
|
245
|
-
};
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
exports.ZeptomailProvider = ZeptomailProvider;
|
|
250
|
-
//# sourceMappingURL=zeptomail_provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zeptomail_provider.js","sourceRoot":"","sources":["../../../../src/lib/emailer/providers/zeptomail_provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type definitions for the emailer service
|
|
3
|
-
*/
|
|
4
|
-
export type EmailerModule = 'zeptoemail_api' | 'smtp' | 'pop3';
|
|
5
|
-
export interface EmailContent {
|
|
6
|
-
text?: string;
|
|
7
|
-
html?: string;
|
|
8
|
-
}
|
|
9
|
-
export interface EmailAttachment {
|
|
10
|
-
filename: string;
|
|
11
|
-
content: string;
|
|
12
|
-
mime_type: string;
|
|
13
|
-
}
|
|
14
|
-
export interface SendEmailOptions {
|
|
15
|
-
to: string | string[];
|
|
16
|
-
subject: string;
|
|
17
|
-
content: EmailContent;
|
|
18
|
-
attachments?: EmailAttachment[];
|
|
19
|
-
from?: string;
|
|
20
|
-
from_name?: string;
|
|
21
|
-
reply_to?: string;
|
|
22
|
-
cc?: string | string[];
|
|
23
|
-
bcc?: string | string[];
|
|
24
|
-
}
|
|
25
|
-
export interface EmailerConfig {
|
|
26
|
-
emailer_module: EmailerModule;
|
|
27
|
-
zeptomail_api_endpoint?: string;
|
|
28
|
-
zeptomail_api_key?: string;
|
|
29
|
-
from_email: string;
|
|
30
|
-
from_name: string;
|
|
31
|
-
reply_to_email?: string;
|
|
32
|
-
bounce_email?: string;
|
|
33
|
-
return_path_email?: string;
|
|
34
|
-
rate_limit_requests?: number;
|
|
35
|
-
rate_limit_window?: number;
|
|
36
|
-
max_attachment_size?: number;
|
|
37
|
-
max_attachments?: number;
|
|
38
|
-
request_timeout?: number;
|
|
39
|
-
max_subject_length?: number;
|
|
40
|
-
max_body_length?: number;
|
|
41
|
-
cors_allowed_origins?: string;
|
|
42
|
-
smtp_host?: string;
|
|
43
|
-
smtp_port?: number;
|
|
44
|
-
smtp_secure?: boolean;
|
|
45
|
-
smtp_auth_user?: string;
|
|
46
|
-
smtp_auth_pass?: string;
|
|
47
|
-
smtp_timeout?: number;
|
|
48
|
-
smtp_pool?: boolean;
|
|
49
|
-
pop3_host?: string;
|
|
50
|
-
pop3_port?: number;
|
|
51
|
-
pop3_secure?: boolean;
|
|
52
|
-
pop3_auth_user?: string;
|
|
53
|
-
pop3_auth_pass?: string;
|
|
54
|
-
pop3_timeout?: number;
|
|
55
|
-
}
|
|
56
|
-
export interface EmailSendResponse {
|
|
57
|
-
success: boolean;
|
|
58
|
-
message_id?: string;
|
|
59
|
-
message?: string;
|
|
60
|
-
raw_response?: Record<string, unknown> | string;
|
|
61
|
-
error?: string;
|
|
62
|
-
}
|
|
63
|
-
export interface ZeptomailEmailAddress {
|
|
64
|
-
address: string;
|
|
65
|
-
name?: string;
|
|
66
|
-
}
|
|
67
|
-
export interface ZeptomailEmailAddressObject {
|
|
68
|
-
email_address: ZeptomailEmailAddress;
|
|
69
|
-
}
|
|
70
|
-
export interface ZeptomailAttachment {
|
|
71
|
-
name: string;
|
|
72
|
-
content: string;
|
|
73
|
-
mime_type: string;
|
|
74
|
-
}
|
|
75
|
-
export interface ZeptomailEmailData {
|
|
76
|
-
from: {
|
|
77
|
-
address: string;
|
|
78
|
-
name: string;
|
|
79
|
-
};
|
|
80
|
-
to: ZeptomailEmailAddressObject[];
|
|
81
|
-
subject: string;
|
|
82
|
-
textbody?: string;
|
|
83
|
-
htmlbody?: string;
|
|
84
|
-
reply_to?: Array<{
|
|
85
|
-
address: string;
|
|
86
|
-
}>;
|
|
87
|
-
cc?: ZeptomailEmailAddressObject[];
|
|
88
|
-
bcc?: ZeptomailEmailAddressObject[];
|
|
89
|
-
attachments?: ZeptomailAttachment[];
|
|
90
|
-
}
|
|
91
|
-
export interface EmailProvider {
|
|
92
|
-
send_email(options: SendEmailOptions, config: EmailerConfig): Promise<EmailSendResponse>;
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/emailer/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/emailer/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Constants for emailer service
|
|
3
|
-
* Centralized constants to avoid magic numbers and strings
|
|
4
|
-
*/
|
|
5
|
-
export declare const DEFAULT_RATE_LIMIT_REQUESTS = 10;
|
|
6
|
-
export declare const DEFAULT_RATE_LIMIT_WINDOW = 60;
|
|
7
|
-
export declare const DEFAULT_MAX_ATTACHMENT_SIZE: number;
|
|
8
|
-
export declare const DEFAULT_MAX_ATTACHMENTS = 10;
|
|
9
|
-
export declare const DEFAULT_REQUEST_TIMEOUT = 30000;
|
|
10
|
-
export declare const MAX_SUBJECT_LENGTH = 255;
|
|
11
|
-
export declare const MAX_BODY_LENGTH: number;
|
|
12
|
-
export declare const MAX_EMAIL_LENGTH = 254;
|
|
13
|
-
export declare const VALID_EMAILER_MODULES: readonly ["zeptoemail_api", "smtp", "pop3"];
|
|
14
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/emailer/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAG5C,eAAO,MAAM,2BAA2B,QAAmB,CAAC;AAC5D,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAG1C,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAG7C,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,eAAe,QAAc,CAAC;AAC3C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAGpC,eAAO,MAAM,qBAAqB,6CAA8C,CAAC"}
|