new(basic.gblib): New SEND MAIL keyword.
This commit is contained in:
parent
3f7c9eec67
commit
ee3569f54b
3 changed files with 94 additions and 19 deletions
48
package-lock.json
generated
48
package-lock.json
generated
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "botserver",
|
||||
"version": "2.0.91",
|
||||
"version": "2.0.113",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -2457,6 +2457,47 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"@sendgrid/client": {
|
||||
"version": "7.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-7.4.2.tgz",
|
||||
"integrity": "sha512-bu8lLbRD+OV7YsYNemEy8DRoxs8/8u325EXNlQ3VaqhcpbM0eSvdL5e5Wa7VZpbczcNCJmf/sr/uqFmwcO5S+A==",
|
||||
"requires": {
|
||||
"@sendgrid/helpers": "^7.4.2",
|
||||
"axios": "^0.21.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": {
|
||||
"version": "0.21.1",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
|
||||
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
|
||||
"requires": {
|
||||
"follow-redirects": "^1.10.0"
|
||||
}
|
||||
},
|
||||
"follow-redirects": {
|
||||
"version": "1.13.3",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz",
|
||||
"integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@sendgrid/helpers": {
|
||||
"version": "7.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@sendgrid/helpers/-/helpers-7.4.2.tgz",
|
||||
"integrity": "sha512-b/IyBwT4zrOfXA0ISvWZsnhYz+5uAO20n68J8n/6qe5P1E2p0L7kWNTN5LYu0S7snJPUlbEa6FpfrSKzEcP9JA==",
|
||||
"requires": {
|
||||
"deepmerge": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"@sendgrid/mail": {
|
||||
"version": "7.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@sendgrid/mail/-/mail-7.4.2.tgz",
|
||||
"integrity": "sha512-hvIOnm8c3zVyDnJcyBuAeujmpKX56N3D/LpiZrFuLHjAz4iEHrmL2sJ3iU9O6hxcb07gd1CES+z9Fg7FBT26uQ==",
|
||||
"requires": {
|
||||
"@sendgrid/client": "^7.4.2",
|
||||
"@sendgrid/helpers": "^7.4.2"
|
||||
}
|
||||
},
|
||||
"@sindresorhus/is": {
|
||||
"version": "0.14.0",
|
||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
|
||||
|
@ -7037,6 +7078,11 @@
|
|||
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
|
||||
"dev": true
|
||||
},
|
||||
"deepmerge": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
|
||||
"integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg=="
|
||||
},
|
||||
"defer-to-connect": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
"@semantic-release/changelog": "5.0.1",
|
||||
"@semantic-release/exec": "5.0.0",
|
||||
"@semantic-release/git": "9.0.0",
|
||||
"@sendgrid/mail": "^7.4.2",
|
||||
"@types/validator": "13.1.0",
|
||||
"adal-node": "0.2.1",
|
||||
"any-shell-escape": "0.1.1",
|
||||
|
|
|
@ -40,6 +40,7 @@ import { SecService } from '../../security.gbapp/services/SecService';
|
|||
const request = require('request-promise-native');
|
||||
const MicrosoftGraph = require('@microsoft/microsoft-graph-client');
|
||||
const path = require('path');
|
||||
const sgMail = require('@sendgrid/mail');
|
||||
|
||||
/**
|
||||
* @fileoverview General Bots server core.
|
||||
|
@ -610,10 +611,37 @@ export class SystemKeywords {
|
|||
* Sends an e-mail.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* SEND MAIL "email@domain.com", "Subject", "Message text."
|
||||
*
|
||||
*/
|
||||
public async sendEmail(to, subject, body) {
|
||||
|
||||
// tslint:disable-next-line:no-console
|
||||
|
||||
GBLog.info(`[E-mail]: to:${to}, subject: ${subject}, body: ${body}.`);
|
||||
const emailToken = process.env.EMAIL_API_KEY;
|
||||
|
||||
return new Promise<any>((resolve, reject) => {
|
||||
sgMail.setApiKey(emailToken);
|
||||
const msg = {
|
||||
to: to,
|
||||
from: process.env.EMAIL_FROM,
|
||||
subject: subject,
|
||||
text: body,
|
||||
html: body
|
||||
};
|
||||
sgMail.send(msg, false, (err, res) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
}
|
||||
else {
|
||||
resolve(res);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Reference in a new issue