@things-factory/integration-email 7.0.1-rc.1 → 7.0.1-rc.7
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import 'ses';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const nodemailer = tslib_1.__importStar(require("nodemailer"));
|
|
5
|
-
|
|
5
|
+
require("ses");
|
|
6
6
|
const integration_base_1 = require("@things-factory/integration-base");
|
|
7
7
|
const debug = require('debug')('things-factory:email-send');
|
|
8
8
|
async function emailSend(step, { logger, domain, data, lng, variables }) {
|
|
@@ -22,21 +22,31 @@ async function emailSend(step, { logger, domain, data, lng, variables }) {
|
|
|
22
22
|
pass
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
25
|
+
const compartment = new Compartment({
|
|
26
|
+
domain,
|
|
27
|
+
user,
|
|
28
|
+
lng,
|
|
29
|
+
data,
|
|
30
|
+
variables,
|
|
31
|
+
console
|
|
33
32
|
});
|
|
33
|
+
let evalFrom, evalTo, evalSubject, evalContents, evalHtml;
|
|
34
|
+
try {
|
|
35
|
+
evalFrom = compartment.evaluate('`' + from + '`');
|
|
36
|
+
evalTo = compartment.evaluate('`' + to + '`');
|
|
37
|
+
evalSubject = compartment.evaluate('`' + subject + '`');
|
|
38
|
+
evalContents = compartment.evaluate('`' + contents + '`');
|
|
39
|
+
evalHtml = compartment.evaluate('`' + html + '`');
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
throw new Error(`Failed to evaluate template: ${err.message}`);
|
|
43
|
+
}
|
|
34
44
|
const info = await transporter.sendMail({
|
|
35
|
-
from:
|
|
36
|
-
to:
|
|
37
|
-
subject:
|
|
38
|
-
text:
|
|
39
|
-
html:
|
|
45
|
+
from: evalFrom,
|
|
46
|
+
to: evalTo,
|
|
47
|
+
subject: evalSubject,
|
|
48
|
+
text: evalContents,
|
|
49
|
+
html: evalHtml
|
|
40
50
|
});
|
|
41
51
|
return {
|
|
42
52
|
data: info
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-send.js","sourceRoot":"","sources":["../../../server/engine/task/email-send.ts"],"names":[],"mappings":";;;AAAA,+DAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"email-send.js","sourceRoot":"","sources":["../../../server/engine/task/email-send.ts"],"names":[],"mappings":";;;AAAA,+DAAwC;AACxC,eAAY;AACZ,uEAAkF;AAElF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,2BAA2B,CAAC,CAAA;AAE3D,KAAK,UAAU,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE;IACrE,MAAM,EACJ,UAAU,EACV,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAC9C,GAAG,IAAI,CAAA;IAER,MAAM,MAAM,GAAG,oCAAiB,CAAC,2BAA2B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAChF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAA;QACtC,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,uBAAuB,EAAE,MAAM,GAAG,KAAK,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAElH,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC;QAC7C,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,IAAI,EAAE;YACJ,IAAI;YACJ,IAAI;SACL;KACF,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,MAAM;QACN,IAAI;QACJ,GAAG;QACH,IAAI;QACJ,SAAS;QACT,OAAO;KACR,CAAC,CAAA;IAEF,IAAI,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAA;IACzD,IAAI,CAAC;QACH,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAA;QACjD,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,CAAA;QAC7C,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC,CAAA;QACvD,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAA;QACzD,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAA;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC;QACtC,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,MAAM;QACV,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,IAAI;KACX,CAAA;AACH,CAAC;AAED,SAAS,CAAC,aAAa,GAAG;IACxB;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,YAAY;KACpB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,eAAe;KACvB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,gBAAgB;QACvB,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAM;YAChB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,GAAG;SACV;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAM;YAChB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,GAAG;SACV;KACF;CACF,CAAA;AAED,SAAS,CAAC,IAAI,GAAG,6BAA6B,CAAA;AAE9C,+BAAY,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA","sourcesContent":["import * as nodemailer from 'nodemailer'\nimport 'ses'\nimport { ConnectionManager, TaskRegistry } from '@things-factory/integration-base'\n\nconst debug = require('debug')('things-factory:email-send')\n\nasync function emailSend(step, { logger, domain, data, lng, variables }) {\n const {\n connection,\n params: { from, to, subject, contents, html }\n } = step\n\n const client = ConnectionManager.getConnectionInstanceByName(domain, connection)\n if (!client) {\n debug(`no connection : ${connection}`)\n throw new Error(`no connection : ${connection}`)\n }\n\n const { host, port = 587 /* SSL은 465 TLS는 587 */, secure = false /* SSL은 true TLS는 false */, user, pass } = client\n\n const transporter = nodemailer.createTransport({\n host,\n port,\n secure,\n auth: {\n user,\n pass\n }\n })\n\n const compartment = new Compartment({\n domain,\n user,\n lng,\n data,\n variables,\n console\n })\n\n let evalFrom, evalTo, evalSubject, evalContents, evalHtml\n try {\n evalFrom = compartment.evaluate('`' + from + '`')\n evalTo = compartment.evaluate('`' + to + '`')\n evalSubject = compartment.evaluate('`' + subject + '`')\n evalContents = compartment.evaluate('`' + contents + '`')\n evalHtml = compartment.evaluate('`' + html + '`')\n } catch (err) {\n throw new Error(`Failed to evaluate template: ${err.message}`)\n }\n\n const info = await transporter.sendMail({\n from: evalFrom,\n to: evalTo,\n subject: evalSubject,\n text: evalContents,\n html: evalHtml\n })\n\n return {\n data: info\n }\n}\n\nemailSend.parameterSpec = [\n {\n type: 'string',\n name: 'from',\n label: 'email.from'\n },\n {\n type: 'string',\n name: 'to',\n label: 'email.to'\n },\n {\n type: 'string',\n name: 'subject',\n label: 'email.subject'\n },\n {\n type: 'textarea',\n name: 'contents',\n label: 'email.contents',\n property: {\n language: 'text',\n showLineNumbers: true\n },\n styles: {\n flex: '1'\n }\n },\n {\n type: 'textarea',\n name: 'html',\n label: 'email.html',\n property: {\n language: 'text',\n showLineNumbers: true\n },\n styles: {\n flex: '1'\n }\n }\n]\n\nemailSend.help = 'integration/task/email-send'\n\nTaskRegistry.registerTaskHandler('email-send', emailSend)\n"]}
|