diff --git a/apps/web/pages/api/auth/forgot-password.ts b/apps/web/pages/api/auth/forgot-password.ts index 1a861362f..221be3d1c 100644 --- a/apps/web/pages/api/auth/forgot-password.ts +++ b/apps/web/pages/api/auth/forgot-password.ts @@ -1,4 +1,5 @@ import { NextApiRequest, NextApiResponse } from "next"; +import { sendResetPassword } from "@documenso/lib/mail"; import { defaultHandler, defaultResponder } from "@documenso/lib/server"; import prisma from "@documenso/prisma"; import crypto from "crypto"; @@ -31,9 +32,7 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) { }, }); - console.log(passwordResetToken); - - // TODO: Send token to user via email + await sendResetPassword(user, passwordResetToken.token); res.status(201).end(); } diff --git a/packages/lib/mail/baseTemplate.ts b/packages/lib/mail/baseTemplate.ts index 6741a87b5..6e18c7114 100644 --- a/packages/lib/mail/baseTemplate.ts +++ b/packages/lib/mail/baseTemplate.ts @@ -1,10 +1,9 @@ import { NEXT_PUBLIC_WEBAPP_URL } from "../constants"; -import { Document as PrismaDocument } from "@prisma/client"; export const baseEmailTemplate = (message: string, content: string) => { const html = `
${message}
${content}
diff --git a/packages/lib/mail/index.ts b/packages/lib/mail/index.ts
index 6d49cdb6b..8388608c6 100644
--- a/packages/lib/mail/index.ts
+++ b/packages/lib/mail/index.ts
@@ -2,3 +2,5 @@ export { signingRequestTemplate } from "./signingRequestTemplate";
export { signingCompleteTemplate } from "./signingCompleteTemplate";
export { sendSigningRequest as sendSigningRequest } from "./sendSigningRequest";
export { sendSigningDoneMail } from "./sendSigningDoneMail";
+export { resetPasswordTemplate } from "./resetPasswordTemplate";
+export { sendResetPassword } from "./sendResetPassword";
diff --git a/packages/lib/mail/resetPasswordTemplate.ts b/packages/lib/mail/resetPasswordTemplate.ts
new file mode 100644
index 000000000..b86b404fd
--- /dev/null
+++ b/packages/lib/mail/resetPasswordTemplate.ts
@@ -0,0 +1,46 @@
+import { NEXT_PUBLIC_WEBAPP_URL } from "../constants";
+
+export const resetPasswordTemplate = (ctaLink: string, ctaLabel: string) => {
+ const customContent = `
+ + That's okay, it happens! Click the button below to reset your password. +
+ ++ + ${ctaLabel} + +
++ Want to send you own signing links? Hosted Documenso is here!. +
`; + + const html = ` +
+ ${customContent}
+