diff --git a/back/mails/smtp/SmtpInstance.ts b/back/mails/smtp/SmtpInstance.ts
new file mode 100644
index 0000000..3406db0
--- /dev/null
+++ b/back/mails/smtp/SmtpInstance.ts
@@ -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: "Hello world?",
+ };
+ this.transporter.sendMail(msg, (err, message) => {
+ if (err) {
+ logger.err(err);
+ throw err;
+ }
+ logger.log(message);
+ });
+ }
+}
diff --git a/back/package-lock.json b/back/package-lock.json
index 0ccdc59..2f4968d 100644
--- a/back/package-lock.json
+++ b/back/package-lock.json
@@ -26,6 +26,7 @@
"@types/mailparser": "^3.0.2",
"@types/moment": "^2.13.0",
"@types/node": "^18.15.11",
+ "@types/nodemailer": "^6.4.7",
"concurrently": "^8.0.1",
"jest": "^29.5.0",
"sql-mysql": "^1.2.0",
@@ -1627,6 +1628,16 @@
"dev": true,
"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": {
"version": "2.7.2",
"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==",
"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": {
"version": "2.7.2",
"resolved": "https://repo.plus4u.net/operatorGate/repository/public-javascript/@types/prettier/-/prettier-2.7.2.tgz",
diff --git a/back/package.json b/back/package.json
index 64b4b35..1e6e481 100644
--- a/back/package.json
+++ b/back/package.json
@@ -27,6 +27,7 @@
"@types/mailparser": "^3.0.2",
"@types/moment": "^2.13.0",
"@types/node": "^18.15.11",
+ "@types/nodemailer": "^6.4.7",
"concurrently": "^8.0.1",
"jest": "^29.5.0",
"sql-mysql": "^1.2.0",
@@ -46,4 +47,4 @@
"/test//**/*-test.[jt]s?(x)"
]
}
-}
\ No newline at end of file
+}