@builder6/email 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,18 @@
1
+ # Builder6 Email Module
2
+
3
+
4
+ ## Environment Variables
5
+
6
+ ```shell
7
+ B6_EMAIL_FROM=Steedos <noreply@steedos.com>
8
+ B6_EMAIL_HOST=email.xxxx.amazonaws.com
9
+ B6_EMAIL_PORT=465
10
+ B6_EMAIL_USERNAME=xxxxx
11
+ B6_EMAIL_PASSWORD=xxxxx
12
+ ```
13
+
14
+ ## 配置定时发送
15
+
16
+ ```
17
+ STEEDOS_CRON_MAILQUEUE_INTERVAL=3000 # 邮件定时器,单位:毫秒
18
+ ```
@@ -0,0 +1,15 @@
1
+ import { EmailService } from './email.service';
2
+ export declare class EmailController {
3
+ private readonly emailService;
4
+ constructor(emailService: EmailService);
5
+ sendEmail(to: string, subject: string, text: string, html: string): Promise<{
6
+ message: string;
7
+ error?: undefined;
8
+ } | {
9
+ error: {
10
+ code: number;
11
+ message: any;
12
+ };
13
+ message?: undefined;
14
+ }>;
15
+ }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.EmailController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const swagger_1 = require("@nestjs/swagger");
18
+ const core_1 = require("@builder6/core");
19
+ const email_service_1 = require("./email.service");
20
+ let EmailController = class EmailController {
21
+ constructor(emailService) {
22
+ this.emailService = emailService;
23
+ }
24
+ async sendEmail(to, subject, text, html) {
25
+ try {
26
+ await this.emailService.sendMail(to, subject, text, html);
27
+ return { message: '邮件发送成功' };
28
+ }
29
+ catch (error) {
30
+ console.error('Query error', error);
31
+ return {
32
+ error: {
33
+ code: 500,
34
+ message: error.message,
35
+ },
36
+ };
37
+ }
38
+ }
39
+ };
40
+ exports.EmailController = EmailController;
41
+ __decorate([
42
+ (0, common_1.Post)('send'),
43
+ (0, swagger_1.ApiOperation)({
44
+ summary: '发送邮件',
45
+ description: '通过提供收件人邮箱、主题和邮件内容发送邮件',
46
+ }),
47
+ (0, swagger_1.ApiBody)({
48
+ description: '发送邮件所需的参数',
49
+ schema: {
50
+ type: 'object',
51
+ properties: {
52
+ to: {
53
+ type: 'string',
54
+ example: 'example@example.com',
55
+ description: '接收邮件的邮箱地址',
56
+ },
57
+ subject: {
58
+ type: 'string',
59
+ example: '邮件标题示例',
60
+ description: '邮件主题',
61
+ },
62
+ text: {
63
+ type: 'string',
64
+ example: '这是一封测试邮件的文本内容',
65
+ description: '邮件的纯文本内容',
66
+ },
67
+ html: {
68
+ type: 'string',
69
+ example: '<h1>这是 HTML 格式的内容</h1>',
70
+ description: '邮件的 HTML 格式内容',
71
+ },
72
+ },
73
+ required: ['to', 'subject'],
74
+ },
75
+ }),
76
+ __param(0, (0, common_1.Body)('to')),
77
+ __param(1, (0, common_1.Body)('subject')),
78
+ __param(2, (0, common_1.Body)('text')),
79
+ __param(3, (0, common_1.Body)('html')),
80
+ __metadata("design:type", Function),
81
+ __metadata("design:paramtypes", [String, String, String, String]),
82
+ __metadata("design:returntype", Promise)
83
+ ], EmailController.prototype, "sendEmail", null);
84
+ exports.EmailController = EmailController = __decorate([
85
+ (0, common_1.UseGuards)(core_1.AdminGuard),
86
+ (0, common_1.Controller)('email'),
87
+ __metadata("design:paramtypes", [email_service_1.EmailService])
88
+ ], EmailController);
89
+ //# sourceMappingURL=email.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.controller.js","sourceRoot":"","sources":["../../src/email/email.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmE;AACnE,6CAAwD;AACxD,yCAA4C;AAC5C,mDAA+C;AAIxC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAoCrD,AAAN,KAAK,CAAC,SAAS,CACD,EAAU,EACL,OAAe,EAClB,IAAY,EACZ,IAAY;QAE1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACpC,OAAO;gBACL,KAAK,EAAE;oBACL,IAAI,EAAE,GAAG;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AAxDY,0CAAe;AAqCpB;IAlCL,IAAA,aAAI,EAAC,MAAM,CAAC;IACZ,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,uBAAuB;KACrC,CAAC;IACD,IAAA,iBAAO,EAAC;QACP,WAAW,EAAE,WAAW;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,qBAAqB;oBAC9B,WAAW,EAAE,WAAW;iBACzB;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,MAAM;iBACpB;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,eAAe;oBACxB,WAAW,EAAE,UAAU;iBACxB;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,wBAAwB;oBACjC,WAAW,EAAE,eAAe;iBAC7B;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;SAC5B;KACF,CAAC;IAEC,WAAA,IAAA,aAAI,EAAC,IAAI,CAAC,CAAA;IACV,WAAA,IAAA,aAAI,EAAC,SAAS,CAAC,CAAA;IACf,WAAA,IAAA,aAAI,EAAC,MAAM,CAAC,CAAA;IACZ,WAAA,IAAA,aAAI,EAAC,MAAM,CAAC,CAAA;;;;gDAcd;0BAvDU,eAAe;IAF3B,IAAA,kBAAS,EAAC,iBAAU,CAAC;IACrB,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAEyB,4BAAY;GAD5C,eAAe,CAwD3B"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const testing_1 = require("@nestjs/testing");
4
+ const email_controller_1 = require("./email.controller");
5
+ describe('EmailController', () => {
6
+ let controller;
7
+ beforeEach(async () => {
8
+ const module = await testing_1.Test.createTestingModule({
9
+ controllers: [email_controller_1.EmailController],
10
+ }).compile();
11
+ controller = module.get(email_controller_1.EmailController);
12
+ });
13
+ it('should be defined', () => {
14
+ expect(controller).toBeDefined();
15
+ });
16
+ });
17
+ //# sourceMappingURL=email.controller.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.controller.spec.js","sourceRoot":"","sources":["../../src/email/email.controller.spec.ts"],"names":[],"mappings":";;AAAA,6CAAsD;AACtD,yDAAqD;AAErD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,UAA2B,CAAC;IAEhC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,MAAM,GAAkB,MAAM,cAAI,CAAC,mBAAmB,CAAC;YAC3D,WAAW,EAAE,CAAC,kCAAe,CAAC;SAC/B,CAAC,CAAC,OAAO,EAAE,CAAC;QAEb,UAAU,GAAG,MAAM,CAAC,GAAG,CAAkB,kCAAe,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare class EmailModule {
2
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.EmailModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const core_1 = require("@builder6/core");
12
+ const email_service_1 = require("./email.service");
13
+ const email_controller_1 = require("./email.controller");
14
+ let EmailModule = class EmailModule {
15
+ };
16
+ exports.EmailModule = EmailModule;
17
+ exports.EmailModule = EmailModule = __decorate([
18
+ (0, common_1.Module)({
19
+ imports: [core_1.AuthModule, core_1.MongodbModule],
20
+ providers: [email_service_1.EmailService],
21
+ controllers: [email_controller_1.EmailController],
22
+ })
23
+ ], EmailModule);
24
+ //# sourceMappingURL=email.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.module.js","sourceRoot":"","sources":["../../src/email/email.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yCAA2D;AAC3D,mDAA+C;AAC/C,yDAAqD;AAO9C,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IALvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,iBAAU,EAAE,oBAAa,CAAC;QACpC,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,WAAW,EAAE,CAAC,kCAAe,CAAC;KAC/B,CAAC;GACW,WAAW,CAAG"}
@@ -0,0 +1,8 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ export declare class EmailService {
3
+ private configService;
4
+ private transporter;
5
+ private readonly logger;
6
+ constructor(configService: ConfigService);
7
+ sendMail(to: string, subject: string, text?: string, html?: string): Promise<void>;
8
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var EmailService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.EmailService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const config_1 = require("@nestjs/config");
16
+ const nodemailer = require("nodemailer");
17
+ let EmailService = EmailService_1 = class EmailService {
18
+ constructor(configService) {
19
+ this.configService = configService;
20
+ this.transporter = null;
21
+ this.logger = new common_1.Logger(EmailService_1.name);
22
+ console.log(this.configService.get('email.enabled'), this.configService.get('email.host'));
23
+ if (this.configService.get('email.enabled') &&
24
+ this.configService.get('email.host')) {
25
+ this.transporter = nodemailer.createTransport({
26
+ host: this.configService.get('email.host'),
27
+ port: this.configService.get('email.port'),
28
+ auth: {
29
+ user: this.configService.get('email.username'),
30
+ pass: this.configService.get('email.password'),
31
+ },
32
+ });
33
+ }
34
+ }
35
+ async sendMail(to, subject, text, html) {
36
+ if (!this.transporter) {
37
+ throw new Error('Email service not enabled');
38
+ }
39
+ const mailOptions = {
40
+ from: this.configService.get('email.from'),
41
+ to,
42
+ subject,
43
+ text,
44
+ html,
45
+ };
46
+ try {
47
+ const info = await this.transporter.sendMail(mailOptions);
48
+ this.logger.log('邮件发送成功:', info.messageId);
49
+ }
50
+ catch (error) {
51
+ this.logger.error('邮件发送失败:', error);
52
+ throw error;
53
+ }
54
+ }
55
+ };
56
+ exports.EmailService = EmailService;
57
+ exports.EmailService = EmailService = EmailService_1 = __decorate([
58
+ (0, common_1.Injectable)(),
59
+ __metadata("design:paramtypes", [config_1.ConfigService])
60
+ ], EmailService);
61
+ //# sourceMappingURL=email.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../src/email/email.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,2CAA+C;AAC/C,yCAAyC;AAGlC,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAIvB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAHxC,gBAAW,GAA2B,IAAI,CAAC;QAClC,WAAM,GAAG,IAAI,eAAM,CAAC,cAAY,CAAC,IAAI,CAAC,CAAC;QAGtD,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,EACvC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CACrC,CAAC;QACF,IACE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC;YACvC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EACpC,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC;gBAC5C,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;gBAC1C,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;gBAE1C,IAAI,EAAE;oBACJ,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBAC9C,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC;iBAC/C;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IASD,KAAK,CAAC,QAAQ,CACZ,EAAU,EACV,OAAe,EACf,IAAa,EACb,IAAa;QAEb,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,WAAW,GAA+B;YAC9C,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;YAC1C,EAAE;YACF,OAAO;YACP,IAAI;YACJ,IAAI;SACL,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AA1DY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAKwB,sBAAa;GAJrC,YAAY,CA0DxB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const testing_1 = require("@nestjs/testing");
4
+ const email_service_1 = require("./email.service");
5
+ describe('EmailService', () => {
6
+ let service;
7
+ beforeEach(async () => {
8
+ const module = await testing_1.Test.createTestingModule({
9
+ providers: [email_service_1.EmailService],
10
+ }).compile();
11
+ service = module.get(email_service_1.EmailService);
12
+ });
13
+ it('should be defined', () => {
14
+ expect(service).toBeDefined();
15
+ });
16
+ });
17
+ //# sourceMappingURL=email.service.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.service.spec.js","sourceRoot":"","sources":["../../src/email/email.service.spec.ts"],"names":[],"mappings":";;AAAA,6CAAsD;AACtD,mDAA+C;AAE/C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,OAAqB,CAAC;IAE1B,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,MAAM,GAAkB,MAAM,cAAI,CAAC,mBAAmB,CAAC;YAC3D,SAAS,EAAE,CAAC,4BAAY,CAAC;SAC1B,CAAC,CAAC,OAAO,EAAE,CAAC;QAEb,OAAO,GAAG,MAAM,CAAC,GAAG,CAAe,4BAAY,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './email.module';
2
+ export * from './email.service';
3
+ export * from './email.controller';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./email.module"), exports);
18
+ __exportStar(require("./email.service"), exports);
19
+ __exportStar(require("./email.controller"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/email/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kDAAgC;AAChC,qDAAmC"}
@@ -0,0 +1 @@
1
+ export * from './email';
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./email"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
package/package.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@builder6/email",
3
+ "version": "0.0.1",
4
+ "main": "dist/index.js",
5
+ "license": "MIT",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "scripts": {
10
+ "build": "rm -rf dist && tsc",
11
+ "build:watch": "rm -rf dist && tsc --watch"
12
+ },
13
+ "dependencies": {
14
+ "nodemailer": "^6.9.16",
15
+ "@builder6/core": "^0.0.1"
16
+ }
17
+ }