Feat/email register refactor (#25369)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: Joel <iamjoel007@gmail.com>
This commit is contained in:
zyssyz123
2025-09-12 10:24:54 +08:00
committed by GitHub
parent bb1514be2d
commit c2fcd2895b
36 changed files with 2390 additions and 91 deletions

View File

@ -0,0 +1,83 @@
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-family: 'Arial', sans-serif;
line-height: 16pt;
color: #101828;
background-color: #e9ebf0;
margin: 0;
padding: 0;
}
.container {
width: 600px;
height: 360px;
margin: 40px auto;
padding: 36px 48px;
background-color: #fcfcfd;
border-radius: 16px;
border: 1px solid #ffffff;
box-shadow: 0 2px 4px -2px rgba(9, 9, 11, 0.08);
}
.header {
margin-bottom: 24px;
}
.header img {
max-width: 100px;
height: auto;
}
.title {
font-weight: 600;
font-size: 24px;
line-height: 28.8px;
}
.description {
font-size: 13px;
line-height: 16px;
color: #676f83;
margin-top: 12px;
}
.code-content {
padding: 16px 32px;
text-align: center;
border-radius: 16px;
background-color: #f2f4f7;
margin: 16px auto;
}
.code {
line-height: 36px;
font-weight: 700;
font-size: 30px;
}
.tips {
line-height: 16px;
color: #676f83;
font-size: 13px;
}
</style>
</head>
<body>
<div class="container">
<p class="title">{{application_title}} Sign-up Code</p>
<p class="description">Your sign-up code
Copy and paste this code, this code will only be valid for the next 5 minutes.</p>
<div class="code-content">
<span class="code">{{code}}</span>
</div>
<p class="tips">If you didn't request this code, don't worry. You can safely ignore this email.</p>
</div>
</body>
</html>

View File

@ -0,0 +1,83 @@
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-family: 'Arial', sans-serif;
line-height: 16pt;
color: #101828;
background-color: #e9ebf0;
margin: 0;
padding: 0;
}
.container {
width: 600px;
height: 360px;
margin: 40px auto;
padding: 36px 48px;
background-color: #fcfcfd;
border-radius: 16px;
border: 1px solid #ffffff;
box-shadow: 0 2px 4px -2px rgba(9, 9, 11, 0.08);
}
.header {
margin-bottom: 24px;
}
.header img {
max-width: 100px;
height: auto;
}
.title {
font-weight: 600;
font-size: 24px;
line-height: 28.8px;
}
.description {
font-size: 13px;
line-height: 16px;
color: #676f83;
margin-top: 12px;
}
.code-content {
padding: 16px 32px;
text-align: center;
border-radius: 16px;
background-color: #f2f4f7;
margin: 16px auto;
}
.code {
line-height: 36px;
font-weight: 700;
font-size: 30px;
}
.tips {
line-height: 16px;
color: #676f83;
font-size: 13px;
}
</style>
</head>
<body>
<div class="container">
<p class="title">{{application_title}} 注册验证码</p>
<p class="description">您的 {{application_title}} 注册验证码
复制并粘贴此验证码,注意验证码仅在接下来的 5 分钟内有效。</p>
<div class="code-content">
<span class="code">{{code}}</span>
</div>
<p class="tips">如果您没有请求此验证码,请不要担心。您可以安全地忽略此电子邮件。</p>
</div>
</body>
</html>

View File

@ -0,0 +1,126 @@
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-family: 'Arial', sans-serif;
color: #101828;
background-color: #e9ebf0;
margin: 0;
padding: 0;
}
.container {
width: 600px;
margin: 80px auto 0 auto;
padding: 36px 48px 52px 48px;
background-color: #fcfcfd;
border-radius: 16px;
border: 1px solid #ffffff;
box-shadow: 0 3px 10px -2px rgba(9, 9, 11, 0.08), 0 2px 4px -2px rgba(9, 9, 11, 0.06);
}
.header {
margin-bottom: 40px;
}
.header img {
max-width: 100px;
height: auto;
}
.title {
margin-bottom: 32px;
font-weight: 600;
font-size: 24px;
line-height: 1.2;
color: #101828;
}
.description {
margin-top: 0;
margin-bottom: 12px;
font-size: 14px;
line-height: 20px;
color: #676f83;
}
.code-content {
padding: 16px 32px;
text-align: center;
border-radius: 16px;
background-color: #f2f4f7;
margin: 16px auto;
}
.code {
line-height: 36px;
font-weight: 700;
font-size: 30px;
}
.button {
display: block;
background: #2563eb;
color: #fff !important;
text-decoration: none;
font-weight: 600;
border-radius: 10px;
border: 0.5px solid rgba(16, 24, 40, 0.04);
height: 36px;
line-height: 36px;
text-align: center;
font-size: 14px;
margin-top: 12px;
margin-bottom: 20px;
box-shadow: 0 -6px 12px -4px rgba(9, 9, 11, 0.08) inset, 0 0 1px 0 rgba(255, 255, 255, 0.16) inset, 0 0.5px 0 0 rgba(255, 255, 255, 0.08) inset, 0 2px 2px -1px rgba(0, 0, 0, 0.12), 0 1px 1px -1px rgba(0, 0, 0, 0.12), 0 0 0 0.5px rgba(9, 9, 11, 0.05);
}
.reset-btn {
color: #155AEF;
text-decoration: none;
font-weight: 500;
}
.support {
color: #155AEF;
text-decoration: none;
}
.support:hover {
text-decoration: underline;
}
.tip {
margin-top: 20px;
color: #676F83;
text-align: center;
font-size: 12px;
font-weight: 400;
line-height: 16px;
}
</style>
</head>
<body>
<div class="container">
<p class="title">It looks like youre signing up with an existing account</p>
<p class="description">Hi, {{account_name}}</p>
<p class="description">
We noticed you tried to sign up, but this email is already registered with an existing account.
Please log in here: </p>
<a href="{{ login_url }}" class="button">Log In</a>
<p class="description">
If you forgot your password, you can reset it here: <a href="{{ reset_password_url }}"
class="reset-btn">Reset Password</a>
</p>
<p class="description">
If you didnt request this action, you can safely ignore this email.
</p>
</div>
<div class="tip">Please do not reply directly to this email, it is automatically sent by the system.</div>
</body>
</html>

View File

@ -0,0 +1,123 @@
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-family: 'Arial', sans-serif;
color: #101828;
background-color: #e9ebf0;
margin: 0;
padding: 0;
}
.container {
width: 600px;
margin: 80px auto 0 auto;
padding: 36px 48px 52px 48px;
background-color: #fcfcfd;
border-radius: 16px;
border: 1px solid #ffffff;
box-shadow: 0 3px 10px -2px rgba(9, 9, 11, 0.08), 0 2px 4px -2px rgba(9, 9, 11, 0.06);
}
.header {
margin-bottom: 40px;
}
.header img {
max-width: 100px;
height: auto;
}
.title {
margin-bottom: 32px;
font-weight: 600;
font-size: 24px;
line-height: 1.2;
color: #101828;
}
.description {
margin-top: 0;
margin-bottom: 12px;
font-size: 14px;
line-height: 20px;
color: #676f83;
}
.code-content {
padding: 16px 32px;
text-align: center;
border-radius: 16px;
background-color: #f2f4f7;
margin: 16px auto;
}
.code {
line-height: 36px;
font-weight: 700;
font-size: 30px;
}
.button {
display: block;
background: #2563eb;
color: #fff !important;
text-decoration: none;
font-weight: 600;
border-radius: 10px;
border: 0.5px solid rgba(16, 24, 40, 0.04);
height: 36px;
line-height: 36px;
text-align: center;
font-size: 14px;
margin-top: 12px;
margin-bottom: 20px;
box-shadow: 0 -6px 12px -4px rgba(9, 9, 11, 0.08) inset, 0 0 1px 0 rgba(255, 255, 255, 0.16) inset, 0 0.5px 0 0 rgba(255, 255, 255, 0.08) inset, 0 2px 2px -1px rgba(0, 0, 0, 0.12), 0 1px 1px -1px rgba(0, 0, 0, 0.12), 0 0 0 0.5px rgba(9, 9, 11, 0.05);
}
.reset-btn {
color: #155AEF;
text-decoration: none;
font-weight: 500;
}
.support {
color: #155AEF;
text-decoration: none;
}
.support:hover {
text-decoration: underline;
}
.tip {
margin-top: 20px;
color: #676F83;
text-align: center;
font-size: 12px;
font-weight: 400;
line-height: 16px;
}
</style>
</head>
<body>
<div class="container">
<p class="title">您似乎正在使用现有账户注册</p>
<p class="description">您好,{{account_name}}</p>
<p class="description">
我们注意到您尝试注册,但此电子邮件已注册。
请在此登录: </p>
<a href="{{ login_url }}" class="button">登录</a>
<p class="description">
如果您忘记了密码,可以在此重置: <a href="{{ reset_password_url }}" class="reset-btn">重置密码</a>
</p>
<p class="description">如果您没有请求此操作,您可以安全地忽略此电子邮件。</p>
</div>
<div class="tip">请不要直接回复此电子邮件,它是由系统自动发送的。</div>
</body>
</html>

View File

@ -0,0 +1,118 @@
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-family: 'Arial', sans-serif;
color: #101828;
background-color: #e9ebf0;
margin: 0;
padding: 0;
}
.container {
width: 600px;
margin: 80px auto 0 auto;
padding: 36px 48px 52px 48px;
background-color: #fcfcfd;
border-radius: 16px;
border: 1px solid #ffffff;
box-shadow: 0 3px 10px -2px rgba(9, 9, 11, 0.08), 0 2px 4px -2px rgba(9, 9, 11, 0.06);
}
.header {
margin-bottom: 40px;
}
.header img {
max-width: 100px;
height: auto;
}
.title {
margin-bottom: 32px;
font-weight: 600;
font-size: 24px;
line-height: 1.2;
color: #101828;
}
.description {
margin-top: 0;
margin-bottom: 12px;
font-size: 14px;
line-height: 20px;
color: #676f83;
}
.code-content {
padding: 16px 32px;
text-align: center;
border-radius: 16px;
background-color: #f2f4f7;
margin: 16px auto;
}
.code {
line-height: 36px;
font-weight: 700;
font-size: 30px;
}
.button {
display: block;
background: #2563eb;
color: #fff !important;
text-decoration: none;
font-weight: 600;
border-radius: 10px;
border: 0.5px solid rgba(16, 24, 40, 0.04);
height: 36px;
line-height: 36px;
text-align: center;
font-size: 14px;
margin-top: 12px;
margin-bottom: 20px;
box-shadow: 0 -6px 12px -4px rgba(9, 9, 11, 0.08) inset, 0 0 1px 0 rgba(255, 255, 255, 0.16) inset, 0 0.5px 0 0 rgba(255, 255, 255, 0.08) inset, 0 2px 2px -1px rgba(0, 0, 0, 0.12), 0 1px 1px -1px rgba(0, 0, 0, 0.12), 0 0 0 0.5px rgba(9, 9, 11, 0.05);
}
.reset-btn {
color: #155AEF;
text-decoration: none;
font-weight: 500;
}
.support {
color: #155AEF;
text-decoration: none;
}
.support:hover {
text-decoration: underline;
}
.tip {
margin-top: 20px;
color: #676F83;
text-align: center;
font-size: 12px;
font-weight: 400;
line-height: 16px;
}
</style>
</head>
<body>
<div class="container">
<p class="title">It looks like youre resetting a password with an unregistered email</p>
<p class="description">Hi,</p>
<p class="description">
We noticed you tried to reset your password, but this email is not associated with any account.
</p>
<p class="description">If you didnt request this action, you can safely ignore this email.</p>
</div>
<div class="tip">Please do not reply directly to this email, it is automatically sent by the system.</div>s
</body>
</html>

View File

@ -0,0 +1,118 @@
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-family: 'Arial', sans-serif;
color: #101828;
background-color: #e9ebf0;
margin: 0;
padding: 0;
}
.container {
width: 600px;
margin: 80px auto 0 auto;
padding: 36px 48px 52px 48px;
background-color: #fcfcfd;
border-radius: 16px;
border: 1px solid #ffffff;
box-shadow: 0 3px 10px -2px rgba(9, 9, 11, 0.08), 0 2px 4px -2px rgba(9, 9, 11, 0.06);
}
.header {
margin-bottom: 40px;
}
.header img {
max-width: 100px;
height: auto;
}
.title {
margin-bottom: 32px;
font-weight: 600;
font-size: 24px;
line-height: 1.2;
color: #101828;
}
.description {
margin-top: 0;
margin-bottom: 12px;
font-size: 14px;
line-height: 20px;
color: #676f83;
}
.code-content {
padding: 16px 32px;
text-align: center;
border-radius: 16px;
background-color: #f2f4f7;
margin: 16px auto;
}
.code {
line-height: 36px;
font-weight: 700;
font-size: 30px;
}
.button {
display: block;
background: #2563eb;
color: #fff !important;
text-decoration: none;
font-weight: 600;
border-radius: 10px;
border: 0.5px solid rgba(16, 24, 40, 0.04);
height: 36px;
line-height: 36px;
text-align: center;
font-size: 14px;
margin-top: 12px;
margin-bottom: 20px;
box-shadow: 0 -6px 12px -4px rgba(9, 9, 11, 0.08) inset, 0 0 1px 0 rgba(255, 255, 255, 0.16) inset, 0 0.5px 0 0 rgba(255, 255, 255, 0.08) inset, 0 2px 2px -1px rgba(0, 0, 0, 0.12), 0 1px 1px -1px rgba(0, 0, 0, 0.12), 0 0 0 0.5px rgba(9, 9, 11, 0.05);
}
.reset-btn {
color: #155AEF;
text-decoration: none;
font-weight: 500;
}
.support {
color: #155AEF;
text-decoration: none;
}
.support:hover {
text-decoration: underline;
}
.tip {
margin-top: 20px;
color: #676F83;
text-align: center;
font-size: 12px;
font-weight: 400;
line-height: 16px;
}
</style>
</head>
<body>
<div class="container">
<p class="title">看起来您正在使用未注册的电子邮件重置密码</p>
<p class="description">您好,</p>
<p class="description">
我们注意到您尝试重置密码,但此电子邮件未与任何账户关联。
</p>
<p class="description">如果您没有请求此操作,您可以安全地忽略此电子邮件。</p>
</div>
<div class="tip">请不要直接回复此电子邮件,它是由系统自动发送的。</div>
</body>
</html>

View File

@ -0,0 +1,121 @@
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-family: 'Arial', sans-serif;
color: #101828;
background-color: #e9ebf0;
margin: 0;
padding: 0;
}
.container {
width: 600px;
margin: 80px auto 0 auto;
padding: 36px 48px 52px 48px;
background-color: #fcfcfd;
border-radius: 16px;
border: 1px solid #ffffff;
box-shadow: 0 3px 10px -2px rgba(9, 9, 11, 0.08), 0 2px 4px -2px rgba(9, 9, 11, 0.06);
}
.header {
margin-bottom: 40px;
}
.header img {
max-width: 100px;
height: auto;
}
.title {
margin-bottom: 32px;
font-weight: 600;
font-size: 24px;
line-height: 1.2;
color: #101828;
}
.description {
margin-top: 0;
margin-bottom: 12px;
font-size: 14px;
line-height: 20px;
color: #676f83;
}
.code-content {
padding: 16px 32px;
text-align: center;
border-radius: 16px;
background-color: #f2f4f7;
margin: 16px auto;
}
.code {
line-height: 36px;
font-weight: 700;
font-size: 30px;
}
.button {
display: block;
background: #2563eb;
color: #fff !important;
text-decoration: none;
font-weight: 600;
border-radius: 10px;
border: 0.5px solid rgba(16, 24, 40, 0.04);
height: 36px;
line-height: 36px;
text-align: center;
font-size: 14px;
margin-top: 12px;
margin-bottom: 20px;
box-shadow: 0 -6px 12px -4px rgba(9, 9, 11, 0.08) inset, 0 0 1px 0 rgba(255, 255, 255, 0.16) inset, 0 0.5px 0 0 rgba(255, 255, 255, 0.08) inset, 0 2px 2px -1px rgba(0, 0, 0, 0.12), 0 1px 1px -1px rgba(0, 0, 0, 0.12), 0 0 0 0.5px rgba(9, 9, 11, 0.05);
}
.reset-btn {
color: #155AEF;
text-decoration: none;
font-weight: 500;
}
.support {
color: #155AEF;
text-decoration: none;
}
.support:hover {
text-decoration: underline;
}
.tip {
margin-top: 20px;
color: #676F83;
text-align: center;
font-size: 12px;
font-weight: 400;
line-height: 16px;
}
</style>
</head>
<body>
<div class="container">
<p class="title">It looks like youre resetting a password with an unregistered email</p>
<p class="description">Hi,</p>
<p class="description">
We noticed you tried to reset your password, but this email is not associated with any account.
Please sign up here: </p>
<a href="{{ sign_up_url }}" class="button">Sign Up</a>
<p class="description">If you didnt request this action, you can safely ignore this email.</p>
</div>
<div class="tip">Please do not reply directly to this email, it is automatically sent by the system.</div>
</body>
</html>

View File

@ -0,0 +1,120 @@
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-family: 'Arial', sans-serif;
color: #101828;
background-color: #e9ebf0;
margin: 0;
padding: 0;
}
.container {
width: 600px;
margin: 80px auto 0 auto;
padding: 36px 48px 52px 48px;
background-color: #fcfcfd;
border-radius: 16px;
border: 1px solid #ffffff;
box-shadow: 0 3px 10px -2px rgba(9, 9, 11, 0.08), 0 2px 4px -2px rgba(9, 9, 11, 0.06);
}
.header {
margin-bottom: 40px;
}
.header img {
max-width: 100px;
height: auto;
}
.title {
margin-bottom: 32px;
font-weight: 600;
font-size: 24px;
line-height: 1.2;
color: #101828;
}
.description {
margin-top: 0;
margin-bottom: 12px;
font-size: 14px;
line-height: 20px;
color: #676f83;
}
.code-content {
padding: 16px 32px;
text-align: center;
border-radius: 16px;
background-color: #f2f4f7;
margin: 16px auto;
}
.code {
line-height: 36px;
font-weight: 700;
font-size: 30px;
}
.button {
display: block;
background: #2563eb;
color: #fff !important;
text-decoration: none;
font-weight: 600;
border-radius: 10px;
border: 0.5px solid rgba(16, 24, 40, 0.04);
height: 36px;
line-height: 36px;
text-align: center;
font-size: 14px;
margin-top: 12px;
margin-bottom: 20px;
box-shadow: 0 -6px 12px -4px rgba(9, 9, 11, 0.08) inset, 0 0 1px 0 rgba(255, 255, 255, 0.16) inset, 0 0.5px 0 0 rgba(255, 255, 255, 0.08) inset, 0 2px 2px -1px rgba(0, 0, 0, 0.12), 0 1px 1px -1px rgba(0, 0, 0, 0.12), 0 0 0 0.5px rgba(9, 9, 11, 0.05);
}
.reset-btn {
color: #155AEF;
text-decoration: none;
font-weight: 500;
}
.support {
color: #155AEF;
text-decoration: none;
}
.support:hover {
text-decoration: underline;
}
.tip {
margin-top: 20px;
color: #676F83;
text-align: center;
font-size: 12px;
font-weight: 400;
line-height: 16px;
}
</style>
</head>
<body>
<div class="container">
<p class="title">看起来您正在使用未注册的电子邮件重置密码</p>
<p class="description">您好, </p>
<p class="description">
我们注意到您尝试重置密码,但此电子邮件未与任何账户关联。
请在此注册: </p>
<a href="{{ sign_up_url }}" class="button">注册</a>
<p class="description">如果您没有请求此操作,您可以安全地忽略此电子邮件。</p>
</div>
<div class="tip">请不要直接回复此电子邮件,它是由系统自动发送的。</div>
</body>
</html>