chore(encryptid): brand verification email as rIdentity + footer links
- From address: rIdentity <noreply@ridentity.online> - Callback URL uses auth.ridentity.online - Footer links to rIdentity, rStack, rSpace Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
e37044f599
commit
61c735cabd
|
|
@ -276,7 +276,7 @@ async function sendRecoveryEmail(to: string, token: string, username: string): P
|
|||
}
|
||||
|
||||
async function sendVerificationEmail(to: string, token: string, username: string, appName: string): Promise<boolean> {
|
||||
const verifyLink = `https://auth.rspace.online/oidc/verify-email-callback?token=${encodeURIComponent(token)}`;
|
||||
const verifyLink = `https://auth.ridentity.online/oidc/verify-email-callback?token=${encodeURIComponent(token)}`;
|
||||
|
||||
if (!smtpTransport) {
|
||||
console.log(`EncryptID: [NO SMTP] Verification link for ${to}: ${verifyLink}`);
|
||||
|
|
@ -284,9 +284,9 @@ async function sendVerificationEmail(to: string, token: string, username: string
|
|||
}
|
||||
|
||||
await smtpTransport.sendMail({
|
||||
from: CONFIG.smtp.from,
|
||||
from: 'rIdentity <noreply@ridentity.online>',
|
||||
to,
|
||||
subject: 'rStack — Verify your email address',
|
||||
subject: 'rIdentity — Verify your email address',
|
||||
text: [
|
||||
`Hi ${username},`,
|
||||
'',
|
||||
|
|
@ -298,7 +298,11 @@ async function sendVerificationEmail(to: string, token: string, username: string
|
|||
'This link expires in 30 minutes.',
|
||||
'If you did not request this, you can safely ignore this email.',
|
||||
'',
|
||||
'— rStack Identity',
|
||||
'— rIdentity',
|
||||
'',
|
||||
'rIdentity: https://ridentity.online',
|
||||
'rStack: https://rstack.online',
|
||||
'rSpace: https://rspace.online',
|
||||
].join('\n'),
|
||||
html: `
|
||||
<!DOCTYPE html>
|
||||
|
|
@ -309,8 +313,8 @@ async function sendVerificationEmail(to: string, token: string, username: string
|
|||
<tr><td align="center">
|
||||
<table width="480" cellpadding="0" cellspacing="0" style="background:#16213e;border-radius:12px;border:1px solid rgba(255,255,255,0.1);">
|
||||
<tr><td style="padding:32px 32px 24px;text-align:center;">
|
||||
<div style="font-size:36px;margin-bottom:8px;">✉</div>
|
||||
<h1 style="margin:0;font-size:24px;background:linear-gradient(90deg,#00d4ff,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;">rStack Identity</h1>
|
||||
<div style="font-size:36px;margin-bottom:8px;">🔒</div>
|
||||
<h1 style="margin:0;font-size:24px;background:linear-gradient(90deg,#00d4ff,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;">rIdentity</h1>
|
||||
</td></tr>
|
||||
<tr><td style="padding:0 32px 24px;color:#e2e8f0;font-size:15px;line-height:1.6;">
|
||||
<p>Hi <strong>${username}</strong>,</p>
|
||||
|
|
@ -319,7 +323,7 @@ async function sendVerificationEmail(to: string, token: string, username: string
|
|||
<tr><td style="padding:0 32px 32px;text-align:center;">
|
||||
<a href="${verifyLink}" style="display:inline-block;padding:12px 32px;background:linear-gradient(90deg,#00d4ff,#7c3aed);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:15px;">Verify Email</a>
|
||||
</td></tr>
|
||||
<tr><td style="padding:0 32px 32px;color:#94a3b8;font-size:13px;line-height:1.5;">
|
||||
<tr><td style="padding:0 32px 24px;color:#94a3b8;font-size:13px;line-height:1.5;">
|
||||
<p>This link expires in <strong>30 minutes</strong>.</p>
|
||||
<p>If you didn't request this, you can safely ignore this email.</p>
|
||||
<p style="margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.1);font-size:12px;color:#64748b;">
|
||||
|
|
@ -327,6 +331,15 @@ async function sendVerificationEmail(to: string, token: string, username: string
|
|||
<span style="color:#94a3b8;word-break:break-all;">${verifyLink}</span>
|
||||
</p>
|
||||
</td></tr>
|
||||
<tr><td style="padding:16px 32px 24px;text-align:center;border-top:1px solid rgba(255,255,255,0.06);">
|
||||
<p style="margin:0;font-size:12px;color:#64748b;">
|
||||
<a href="https://ridentity.online" style="color:#7c3aed;text-decoration:none;">rIdentity</a>
|
||||
·
|
||||
<a href="https://rstack.online" style="color:#7c3aed;text-decoration:none;">rStack</a>
|
||||
·
|
||||
<a href="https://rspace.online" style="color:#7c3aed;text-decoration:none;">rSpace</a>
|
||||
</p>
|
||||
</td></tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
</table>
|
||||
|
|
|
|||
Loading…
Reference in New Issue