summaryrefslogtreecommitdiff
path: root/src/routes.js
diff options
context:
space:
mode:
authorGavin Mogan <git@gavinmogan.com>2025-04-22 18:11:27 -0700
committerGavin Mogan <git@gavinmogan.com>2025-04-22 18:17:31 -0700
commit2520ba69933e17f6ef7f8cc11f803de3e66b179f (patch)
tree231fe85c024a33ab735bfce1eb786e9e074c59b9 /src/routes.js
parentfc78f8eb7723db727484d83016c7a633a03dbacb (diff)
Allow url with config information for nodemailer
Diffstat (limited to 'src/routes.js')
-rwxr-xr-xsrc/routes.js44
1 files changed, 4 insertions, 40 deletions
diff --git a/src/routes.js b/src/routes.js
index 1c132ca..e758e6b 100755
--- a/src/routes.js
+++ b/src/routes.js
@@ -24,6 +24,7 @@ import EventGroup from "./models/EventGroup.js";
import path from "path";
import { activityPubContentType } from "./lib/activitypub.js";
import { hashString } from "./util/generator.js";
+import { initEmailService } from "./lib/email.js";
const config = getConfig();
const domain = config.general.domain;
@@ -43,46 +44,9 @@ const nanoid = customAlphabet(
const router = express.Router();
let sendEmails = false;
-let nodemailerTransporter;
-if (config.general.mail_service) {
- switch (config.general.mail_service) {
- case "sendgrid":
- sgMail.setApiKey(config.sendgrid?.api_key);
- console.log("Sendgrid is ready to send emails.");
- sendEmails = true;
- break;
- case "nodemailer":
- const nodemailerConfig = {
- host: config.nodemailer?.smtp_server,
- port: Number(config.nodemailer?.smtp_port) || 587,
- };
-
- if (config.nodemailer?.smtp_username) {
- nodemailerConfig.auth = {
- user: config.nodemailer?.smtp_username,
- pass: config.nodemailer?.smtp_password
- };
- }
-
- nodemailerTransporter = nodemailer.createTransport(nodemailerConfig);
-
- nodemailerTransporter.verify((error, success) => {
- if (error) {
- console.log(error);
- } else {
- console.log(
- "Nodemailer SMTP server is ready to send emails.",
- );
- sendEmails = true;
- }
- });
- break;
- default:
- console.error(
- "You have not configured this Gathio instance to send emails! This means that event creators will not receive emails when their events are created, which means they may end up locked out of editing events. Consider setting up an email service.",
- );
- }
-}
+initEmailService().then((emailService) => {
+ sendEmails = emailService
+});
router.use(fileUpload());