From 272c03c38d569036aafcae25e654844c33922715 Mon Sep 17 00:00:00 2001 From: OpenClaw Date: Tue, 24 Feb 2026 07:02:42 +0000 Subject: [PATCH] feat: branded HTML verification email + fix stale df_free placeholder --- public/index.html | 2 +- public/src/index.html | 2 +- src/services/email.ts | 29 ++++++++++++++++++++++++++++- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/public/index.html b/public/index.html index 0761904..5fcb352 100644 --- a/public/index.html +++ b/public/index.html @@ -644,7 +644,7 @@ html, body {

Change your email

Enter your API key and new email address.

- +

A verification code will be sent to your new email

diff --git a/public/src/index.html b/public/src/index.html index 0761904..5fcb352 100644 --- a/public/src/index.html +++ b/public/src/index.html @@ -644,7 +644,7 @@ html, body {

Change your email

Enter your API key and new email address.

- +

A verification code will be sent to your new email

diff --git a/src/services/email.ts b/src/services/email.ts index a6ae192..ad2414d 100644 --- a/src/services/email.ts +++ b/src/services/email.ts @@ -30,7 +30,34 @@ export async function sendVerificationEmail(email: string, code: string): Promis from: smtpFrom, to: email, subject: "DocFast - Verify your email", - text: `Your DocFast verification code is: ${code}\n\nThis code expires in 15 minutes.\n\nIf you didn't request this, ignore this email.`, + text: `Your DocFast verification code is: ${code}\n\nThis code expires in 15 minutes.\n\nIf you didn't request this, ignore this email.\n\n---\nDocFast — HTML to PDF API\nhttps://docfast.dev`, + html: ` + + + +
+ + + + + + + +
+

DocFast

+
+

Your verification code

+
+
${code}
+
+

This code expires in 15 minutes.

+
+

If you didn't request this, ignore this email.

+
+

DocFast — HTML to PDF API
docfast.dev

+
+
+`, }); logger.info({ email, messageId: info.messageId }, "Verification email sent"); return true;