diff --git a/src/util/util/email/clients/MailGunEmailClient.ts b/src/util/util/email/clients/MailGunEmailClient.ts
index d0a1613f..ad92fc82 100644
--- a/src/util/util/email/clients/MailGunEmailClient.ts
+++ b/src/util/util/email/clients/MailGunEmailClient.ts
@@ -34,7 +34,7 @@ export class MailGunEmailClient extends BaseEmailClient {
try {
// try to import the transporter package
- this.mailGun = new (await import("mailgun.js")).default(FormData);
+ this.mailGun = new (require("mailgun.js").default)(FormData);
} catch {
// if the package is not installed, log an error and return void so we don't set the transporter
console.error("[Email] MailGun transport is not installed. Please run `npm install mailgun.js --save-optional` to install it.");
diff --git a/src/util/util/email/clients/MailJetEmailClient.ts b/src/util/util/email/clients/MailJetEmailClient.ts
index 45664eb5..d88346fc 100644
--- a/src/util/util/email/clients/MailJetEmailClient.ts
+++ b/src/util/util/email/clients/MailJetEmailClient.ts
@@ -39,7 +39,7 @@ export class MailJetEmailClient extends BaseEmailClient {
});
} catch {
// if the package is not installed, log an error and return void so we don't set the transporter
- console.error("[Email] MailJet transport is not installed. Please run `npm install node-mailjet --save-optional` to install it.");
+ console.error("[Email] MailJet transport is not installed. Please run `npm install --no-save node-mailjet` to install it.");
return;
}
}
diff --git a/src/util/util/email/clients/SMTPEmailClient.ts b/src/util/util/email/clients/SMTPEmailClient.ts
index 46bfe0fd..b8452489 100644
--- a/src/util/util/email/clients/SMTPEmailClient.ts
+++ b/src/util/util/email/clients/SMTPEmailClient.ts
@@ -20,16 +20,17 @@ import { BaseEmailClient, IEmail } from "./IEmailClient";
import { Config } from "@spacebar/util";
export class SMTPEmailClient extends BaseEmailClient {
- // sendGrid?: unknown;
- nodemailer?: typeof import("nodemailer");
- transporter: import("nodemailer").Transporter;
+ nodemailer?: unknown;
+ transporter: unknown;
+ // nodemailer?: typeof import("nodemailer"); // for dev
+ // transporter: import("nodemailer").Transporter; // for dev
override async init(): Promise<void> {
try {
// try to import the transporter package
- this.nodemailer = (await import("nodemailer")).default;
+ this.nodemailer = require("nodemailer").default;
} catch {
// if the package is not installed, log an error and return void so we don't set the transporter
- console.error("[Email] nodemailer is not installed. Please run `npm install nodemailer --save-optional` to install it.");
+ console.error("[Email] nodemailer is not installed. Please run `npm install --no-save nodemailer` to install it.");
return;
}
// get configuration
@@ -44,6 +45,8 @@ export class SMTPEmailClient extends BaseEmailClient {
);
// construct the transporter
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-expect-error
const transporter = this.nodemailer.createTransport({
host,
port,
@@ -55,7 +58,7 @@ export class SMTPEmailClient extends BaseEmailClient {
});
// verify connection configuration
- const verified = await transporter.verify().catch((err) => {
+ const verified = await transporter.verify().catch((err: unknown) => {
console.error("[Email] SMTP verification failed:", err);
return;
});
@@ -70,6 +73,8 @@ export class SMTPEmailClient extends BaseEmailClient {
if (!this.nodemailer) throw new Error("nodemailer not initialized");
if (!this.transporter) throw new Error("nodemailer transporter not initialized");
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-expect-error
await this.transporter.sendMail({
to: email.to,
from: email.from,
diff --git a/src/util/util/email/clients/SendGridEmailClient.ts b/src/util/util/email/clients/SendGridEmailClient.ts
index 8eb3faef..36f077d0 100644
--- a/src/util/util/email/clients/SendGridEmailClient.ts
+++ b/src/util/util/email/clients/SendGridEmailClient.ts
@@ -31,10 +31,10 @@ export class SendGridEmailClient extends BaseEmailClient {
try {
// try to import the transporter package
- this.sendGrid = (await import("@sendgrid/mail")).default;
+ this.sendGrid = require("@sendgrid/mail").default;
} catch {
// if the package is not installed, log an error and return void so we don't set the transporter
- console.error("[Email] SendGrid transport is not installed. Please run `npm install @sendgrid/mail --save-optional` to install it.");
+ console.error("[Email] SendGrid transport is not installed. Please run `npm install --no-save @sendgrid/mail` to install it.");
return;
}
|