add send mail
This commit is contained in:
parent
b9cc543b64
commit
160bb0c605
39
back/mails/smtp/SmtpInstance.ts
Normal file
39
back/mails/smtp/SmtpInstance.ts
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import { Account } from "../imap/ImapSync";
|
||||||
|
import logger from "../../system/Logger";
|
||||||
|
import nodemailer, { Transporter } from "nodemailer";
|
||||||
|
|
||||||
|
export class SmapInstance {
|
||||||
|
transporter: Transporter;
|
||||||
|
account: Account;
|
||||||
|
|
||||||
|
constructor(account) {
|
||||||
|
// todo store other data
|
||||||
|
this.transporter = nodemailer.createTransport({
|
||||||
|
host: "smtp.gmail.com",
|
||||||
|
port: 465,
|
||||||
|
secure: true,
|
||||||
|
auth: {
|
||||||
|
user: account.user,
|
||||||
|
pass: account.password,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
this.account = account;
|
||||||
|
}
|
||||||
|
|
||||||
|
sendMail() {
|
||||||
|
const msg = {
|
||||||
|
from: "",
|
||||||
|
to: "",
|
||||||
|
subject: "Hello ✔",
|
||||||
|
text: "Hello world?",
|
||||||
|
html: "<b>Hello world?</b>",
|
||||||
|
};
|
||||||
|
this.transporter.sendMail(msg, (err, message) => {
|
||||||
|
if (err) {
|
||||||
|
logger.err(err);
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
logger.log(message);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
20
back/package-lock.json
generated
20
back/package-lock.json
generated
@ -26,6 +26,7 @@
|
|||||||
"@types/mailparser": "^3.0.2",
|
"@types/mailparser": "^3.0.2",
|
||||||
"@types/moment": "^2.13.0",
|
"@types/moment": "^2.13.0",
|
||||||
"@types/node": "^18.15.11",
|
"@types/node": "^18.15.11",
|
||||||
|
"@types/nodemailer": "^6.4.7",
|
||||||
"concurrently": "^8.0.1",
|
"concurrently": "^8.0.1",
|
||||||
"jest": "^29.5.0",
|
"jest": "^29.5.0",
|
||||||
"sql-mysql": "^1.2.0",
|
"sql-mysql": "^1.2.0",
|
||||||
@ -1627,6 +1628,16 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/nodemailer": {
|
||||||
|
"version": "6.4.7",
|
||||||
|
"resolved": "https://repo.plus4u.net/operatorGate/repository/public-javascript/@types/nodemailer/-/nodemailer-6.4.7.tgz",
|
||||||
|
"integrity": "sha512-f5qCBGAn/f0qtRcd4SEn88c8Fp3Swct1731X4ryPKqS61/A3LmmzN8zaEz7hneJvpjFbUUgY7lru/B/7ODTazg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@types/prettier": {
|
"node_modules/@types/prettier": {
|
||||||
"version": "2.7.2",
|
"version": "2.7.2",
|
||||||
"resolved": "https://repo.plus4u.net/operatorGate/repository/public-javascript/@types/prettier/-/prettier-2.7.2.tgz",
|
"resolved": "https://repo.plus4u.net/operatorGate/repository/public-javascript/@types/prettier/-/prettier-2.7.2.tgz",
|
||||||
@ -8310,6 +8321,15 @@
|
|||||||
"integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
|
"integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"@types/nodemailer": {
|
||||||
|
"version": "6.4.7",
|
||||||
|
"resolved": "https://repo.plus4u.net/operatorGate/repository/public-javascript/@types/nodemailer/-/nodemailer-6.4.7.tgz",
|
||||||
|
"integrity": "sha512-f5qCBGAn/f0qtRcd4SEn88c8Fp3Swct1731X4ryPKqS61/A3LmmzN8zaEz7hneJvpjFbUUgY7lru/B/7ODTazg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@types/node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@types/prettier": {
|
"@types/prettier": {
|
||||||
"version": "2.7.2",
|
"version": "2.7.2",
|
||||||
"resolved": "https://repo.plus4u.net/operatorGate/repository/public-javascript/@types/prettier/-/prettier-2.7.2.tgz",
|
"resolved": "https://repo.plus4u.net/operatorGate/repository/public-javascript/@types/prettier/-/prettier-2.7.2.tgz",
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
"@types/mailparser": "^3.0.2",
|
"@types/mailparser": "^3.0.2",
|
||||||
"@types/moment": "^2.13.0",
|
"@types/moment": "^2.13.0",
|
||||||
"@types/node": "^18.15.11",
|
"@types/node": "^18.15.11",
|
||||||
|
"@types/nodemailer": "^6.4.7",
|
||||||
"concurrently": "^8.0.1",
|
"concurrently": "^8.0.1",
|
||||||
"jest": "^29.5.0",
|
"jest": "^29.5.0",
|
||||||
"sql-mysql": "^1.2.0",
|
"sql-mysql": "^1.2.0",
|
||||||
@ -46,4 +47,4 @@
|
|||||||
"<rootDir>/test//**/*-test.[jt]s?(x)"
|
"<rootDir>/test//**/*-test.[jt]s?(x)"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user