From 8567d9313e808f041121dff80011d06dad7541d2 Mon Sep 17 00:00:00 2001 From: nichenqin Date: Thu, 15 Aug 2024 22:56:00 +0800 Subject: [PATCH] fix: fix mailgun --- apps/backend/package.json | 3 +-- apps/backend/src/modules/mail/mail.ts | 9 ++++----- bun.lockb | Bin 579072 -> 575800 bytes 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/apps/backend/package.json b/apps/backend/package.json index 2e85f4ced..c3f7da3d4 100644 --- a/apps/backend/package.json +++ b/apps/backend/package.json @@ -45,10 +45,10 @@ "got": "^14.4.2", "handlebars": "^4.7.8", "lucia": "^3.2.0", + "mailgun-nodemailer-transport": "^3.0.2", "minio": "^8.0.1", "nanoid": "^5.0.7", "nodemailer": "^6.9.14", - "nodemailer-mailgun-transport": "^2.1.5", "oslo": "^1.2.1", "radash": "^12.1.0", "reflect-metadata": "^0.2.2", @@ -57,7 +57,6 @@ }, "devDependencies": { "@types/nodemailer": "^6.4.15", - "@types/nodemailer-mailgun-transport": "^1.4.6", "@types/uuid": "^10.0.0", "bun-types": "latest", "kysely": "^0.27.4" diff --git a/apps/backend/src/modules/mail/mail.ts b/apps/backend/src/modules/mail/mail.ts index 5dc63956a..7677a2ee0 100644 --- a/apps/backend/src/modules/mail/mail.ts +++ b/apps/backend/src/modules/mail/mail.ts @@ -2,14 +2,13 @@ import { singleton } from "@undb/di" import { env } from "@undb/env" import { createLogger } from "@undb/logger" import { IMailService, ISendInput } from "@undb/mail" +import MailgunTransport from "mailgun-nodemailer-transport" import { createTransport } from "nodemailer" -import mg from "nodemailer-mailgun-transport" -import SMTPConnection from "nodemailer/lib/smtp-connection" import { compile } from "./templates/compile" function createMailerTransport() { if (env.UNDB_MAIL_PROVIDER === "nodemailer" || !env.UNDB_MAIL_PROVIDER) { - const options: SMTPConnection.Options = { + const options = { host: env.UNDB_MAIL_HOST, port: 465, // port: env.UNDB_MAIL_PORT ? parseInt(env.UNDB_MAIL_PORT, 10) : undefined, @@ -25,9 +24,9 @@ function createMailerTransport() { } return createTransport( - mg({ + new MailgunTransport({ auth: { - api_key: env.UNDB_MAILGUN_API_KEY!, + apiKey: env.UNDB_MAILGUN_API_KEY!, domain: env.UNDB_MAILGUN_DOMAIN!, }, }), diff --git a/bun.lockb b/bun.lockb index 2dcc5e87568e4660ae40b30f2de93b7b2e98db8c..151e6cd0d57fb0cdc53f76f3a6adab74645e8249 100755 GIT binary patch delta 35463 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 delta 37252 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