add FRONTEND_URL and password-reset implementation
This commit is contained in:
6 files changed
+624
-31
No files matched your search
+2
-1
@@ -4,4 +4,5 @@ SMTP_USER="project.1"
|
||||
SMTP_PASS="secret.1"
|
||||
EMAIL_FROM="noreply@lauf-fuer-kaya.de"
|
||||
EMAIL_REPLYTO="info@lauf-fuer-kaya.de"
|
||||
REDIS_URL=redis://localhost:6379
|
||||
REDIS_URL=redis://localhost:6379
|
||||
FRONTEND_URL="https://run.lauf-fuer-kaya.de"
|
||||
@@ -42,6 +42,9 @@ emailRouter.post('/', zValidator('json', sendEmailSchema), async (c) => {
|
||||
const dataURL = await generateBarcodeDataURL(data.barcode_content);
|
||||
data.barcode_url = dataURL;
|
||||
}
|
||||
if (templateName === "password-reset") {
|
||||
data.reset_link= `${process.env.FRONTEND_URL}/reset/${(Buffer.from(data.token)).toString("base64")}`
|
||||
}
|
||||
await emailService.sendEmail({
|
||||
to,
|
||||
subject,
|
||||
|
||||
@@ -1,7 +1,298 @@
|
||||
<h1>Anfrage zum Zurücksetzen des Passworts</h1>
|
||||
<p>Hallo {{name}},</p>
|
||||
<p>Wir haben eine Anfrage zum Zurücksetzen Ihres Passworts erhalten. Klicken Sie auf den untenstehenden Link, um ein neues Passwort zu erstellen:</p>
|
||||
<a href="{{resetLink}}" style="display: inline-block; background: #007bff; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px; margin: 15px 0;">Passwort zurücksetzen</a>
|
||||
<p>Dieser Link läuft in {{expiresIn}} ab.</p>
|
||||
<p>Falls Sie diese Anfrage nicht gestellt haben, ignorieren Sie bitte diese E-Mail oder kontaktieren Sie den Support, wenn Sie Bedenken haben.</p>
|
||||
<p>Mit freundlichen Grüßen,<br>Ihr Support-Team</p>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html dir="ltr" lang="en">
|
||||
<head>
|
||||
<meta content="width=device-width" name="viewport" />
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
<meta
|
||||
content="telephone=no,address=no,email=no,date=no,url=no"
|
||||
name="format-detection"
|
||||
/>
|
||||
<meta content="light" name="color-scheme" />
|
||||
<meta content="light" name="supported-color-schemes" />
|
||||
<!--$-->
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: "Inter";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
mso-font-alt: "sans-serif";
|
||||
src: url(https://rsms.me/inter/font-files/Inter-Regular.woff2?v=3.19)
|
||||
format("woff2");
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: "Inter", sans-serif;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
blockquote,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
img,
|
||||
li,
|
||||
ol,
|
||||
p,
|
||||
ul {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
@media only screen and (max-width: 425px) {
|
||||
.tab-row-full {
|
||||
width: 100% !important;
|
||||
}
|
||||
.tab-col-full {
|
||||
display: block !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
.tab-pad {
|
||||
padding: 0 !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style="margin: 0">
|
||||
<div
|
||||
style="
|
||||
display: none;
|
||||
overflow: hidden;
|
||||
line-height: 1px;
|
||||
opacity: 0;
|
||||
max-height: 0;
|
||||
max-width: 0;
|
||||
"
|
||||
id="__react-email-preview"
|
||||
>
|
||||
Anfrage zum Zurücksetzen des Passworts
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<table
|
||||
align="center"
|
||||
width="100%"
|
||||
border="0"
|
||||
cellpadding="0"
|
||||
cellspacing="0"
|
||||
role="presentation"
|
||||
style="
|
||||
max-width: 600px;
|
||||
min-width: 300px;
|
||||
width: 100%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding: 0.5rem;
|
||||
"
|
||||
>
|
||||
<tbody>
|
||||
<tr style="width: 100%">
|
||||
<td>
|
||||
<table
|
||||
align="center"
|
||||
width="100%"
|
||||
border="0"
|
||||
cellpadding="0"
|
||||
cellspacing="0"
|
||||
role="presentation"
|
||||
style="margin-top: 0px; margin-bottom: 32px"
|
||||
>
|
||||
<tbody style="width: 100%">
|
||||
<tr style="width: 100%">
|
||||
<td align="left" data-id="__react-email-column">
|
||||
<img
|
||||
title="Logo"
|
||||
alt="Logo"
|
||||
src="data:image/svg+xml,%3Csvg id='Gruppe_194' data-name='Gruppe 194' xmlns='http://www.w3.org/2000/svg' width='217.844' height='387.915' viewBox='0 0 217.844 387.915'%3E%3Cpath id='Pfad_1' data-name='Pfad 1' d='M229.1,167.459c-5.467-2.565-10.96-5-16.54-7.269l9.471,7.344Z' transform='translate(-29.627 36.578)' fill='%23020202'/%3E%3Cpath id='Pfad_2' data-name='Pfad 2' d='M204.37,22.44,208.8,37.666A21.193,21.193,0,0,0,204.37,22.44Z' transform='translate(-35.604 -14.354)' fill='%2308b09e'/%3E%3Cpath id='Pfad_3' data-name='Pfad 3' d='M195.651,213.848c-.651,1.089-1.251,2.177-1.964,3.253s-1.251,2.052-1.927,3.065h25.085c2.327-2.152,4.642-4.341,6.919-6.556Z' transform='translate(-40.757 55.996)' fill='%2342210b'/%3E%3Cpath id='Pfad_4' data-name='Pfad 4' d='M165.623,258.931c1.063-1.9,2.189-3.753,3.34-5.618l5.442-88.492,19.217-65.058,25.235-.45a53.01,53.01,0,0,0,.463-7.019l-26.211.5-13.9-42.225a13.387,13.387,0,0,1-4.366,3.566c-.413.225-.813.438-1.251.626L187.13,98.175l-19.317,64.207-5.755,92.095-3.128,13.074A32.529,32.529,0,0,0,165.623,258.931Z' transform='translate(-48.682 0.468)' fill='%2342210b'/%3E%3Cpath id='Pfad_5' data-name='Pfad 5' d='M212.329,90.2q.163.35.3.713l16.577-.3a17.515,17.515,0,0,0,.9-6.656V83.57l-19.1.363A12.686,12.686,0,0,0,212.329,90.2Z' transform='translate(-30.022 8.656)' fill='%2342210b'/%3E%3Cpath id='Pfad_6' data-name='Pfad 6' d='M210.887,100.425a8.394,8.394,0,0,1,.475-4.929c.263-.938.488-1.877.688-2.8l-20.643.225L183.3,119.3h30.277c1.727-2.127,3.328-4.379,5-6.568s3.14-4.554,4.629-6.894l7.407-13.362-12.3.138A22.52,22.52,0,0,1,210.887,100.425Z' transform='translate(-36.975 12.415)' fill='%2308b09e'/%3E%3Cpath id='Pfad_7' data-name='Pfad 7' d='M180.45,123.862h24.6l.363-.926a7.757,7.757,0,0,1,2.5-3.278,31.117,31.117,0,0,0,4.254-3.828l-28.876.075Z' transform='translate(-42.524 20.435)' fill='%23e82524'/%3E%3Cpath id='Pfad_8' data-name='Pfad 8' d='M177.7,132.163l5.793,5.1,16.877-.576c1.164-3.753,2.4-7.507,3.753-11.172l-24.484.388Z' transform='translate(-43.96 24.102)' fill='%23bdbec0'/%3E%3Cpath id='Pfad_9' data-name='Pfad 9' d='M182.826,138.467l-6.143-5.217-3.253,11.01,6.731,4.992Z' transform='translate(-46.621 27.099)' fill='%23491033'/%3E%3Cpath id='Pfad_10' data-name='Pfad 10' d='M195.21,144.014c.663-2.352,1.326-4.7,2.027-7.044l-10.9.363Z' transform='translate(-41.78 28.104)' fill='%23491033'/%3E%3Cpath id='Pfad_11' data-name='Pfad 11' d='M181.4,150.421l22.095,16.265,4.629-5.455a132.757,132.757,0,0,0-13.362-3.541c-1.251-.263-2.064-.513-1.589-2.2.776-2.79,1.539-5.58,2.315-8.37l-11.46-8.758Z' transform='translate(-42.536 29.51)' fill='%23ffce06'/%3E%3Cpath id='Pfad_12' data-name='Pfad 12' d='M218.948,176.87l28.863-.413a74.811,74.811,0,0,0-8.307-4.779c-2.5-1.251-5.08-2.5-7.619-3.628l-7.069.075-9.471-7.344c-2.828-1.126-5.68-2.2-8.558-3.19l-5.317,6.981Z' transform='translate(-34.998 36.199)' fill='%2308b09e'/%3E%3Cpath id='Pfad_13' data-name='Pfad 13' d='M180.2,79.961l-3.753-13.237L154.422,56.39a17.316,17.316,0,0,0-1.764.963,18.153,18.153,0,0,1-7.507,2.5,12.9,12.9,0,0,0-1.852.225l.225,2.39Z' transform='translate(-56.484 -5.829)' fill='%23491033'/%3E%3Cpath id='Pfad_14' data-name='Pfad 14' d='M169.407,55.139a18.679,18.679,0,0,1-5.2-.1,23.259,23.259,0,0,0-8.282.163L171.7,62.709Z' transform='translate(-52.757 -6.242)' fill='%23e82524'/%3E%3Cpath id='Pfad_15' data-name='Pfad 15' d='M143.96,62.212l-3.366-1.752a103.014,103.014,0,0,0-12.924,4.592l17.853,8.758Z' transform='translate(-63.187 -4.807)' fill='%23bdbec0'/%3E%3Cpath id='Pfad_16' data-name='Pfad 16' d='M126.4,89.028l.5-.813a8.232,8.232,0,0,1,7.369-4l6.781-.1-17.4-7.794-5-7.757h0a12.686,12.686,0,0,0-6.969,5.955l7.657,11.4Z' transform='translate(-68.902 3.418)' fill='%23ffce06'/%3E%3Cpath id='Pfad_17' data-name='Pfad 17' d='M120.014,99.078c1.927-3.04,3.916-6.055,5.855-9.1l-7.307-3.29L111.444,75.87c-1.539,3.653-3.128,7.306-4.654,10.972l6.143,9.208Z' transform='translate(-70.951 6.173)' fill='%23491033'/%3E%3Cpath id='Pfad_18' data-name='Pfad 18' d='M145.16,84.82l3.353-.075L147.262,75.2,126.394,65.29c-2.315,1-4.617,2-6.944,2.965l4.2,6.518Z' transform='translate(-65.947 2.196)' fill='%23491033'/%3E%3Cpath id='Pfad_19' data-name='Pfad 19' d='M152.838,87.039a2.925,2.925,0,0,0,.1.926L174.732,95.2l.851-10.434L144.43,73.89l.425,8.608,2.94-.075C151.123,82.31,152.512,83.7,152.838,87.039Z' transform='translate(-56.336 5.402)' fill='%2308b09e'/%3E%3Cpath id='Pfad_20' data-name='Pfad 20' d='M144.711,73.744l30.215,10.3.576-4L143.66,63.66Z' transform='translate(-56.598 1.61)' fill='%23e82524'/%3E%3Cpath id='Pfad_21' data-name='Pfad 21' d='M157.368,90.71l-5.818-2.39c.413,4.091.851,8.195,1.251,12.286Z' transform='translate(-54.812 10.505)' fill='%23e82524'/%3E%3Cpath id='Pfad_22' data-name='Pfad 22' d='M169.26,117.315l.863-10.347L154.109,100.4l-1.089,2.5c.275,2.5.538,5,.813,7.582Z' transform='translate(-53.772 15.059)' fill='%2308b09e'/%3E%3Cpath id='Pfad_23' data-name='Pfad 23' d='M170.379,93.52l-10.434-3.29-5,10.009L169.8,106.67Z' transform='translaLine truncated
|
||||
style="
|
||||
display: block;
|
||||
outline: none;
|
||||
border: none;
|
||||
text-decoration: none;
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2
|
||||
style="
|
||||
text-align: left;
|
||||
color: #111827;
|
||||
margin-bottom: 12px;
|
||||
margin-top: 0;
|
||||
font-size: 30px;
|
||||
line-height: 36px;
|
||||
font-weight: 700;
|
||||
"
|
||||
>
|
||||
<strong>Anfrage zum Zurücksetzen des Passworts</strong>
|
||||
</h2>
|
||||
<p
|
||||
style="
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin: 16px 0;
|
||||
text-align: left;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
color: #374151;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
"
|
||||
>
|
||||
<strong>Hallo 👋</strong>
|
||||
</p>
|
||||
<p
|
||||
style="
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin: 16px 0;
|
||||
text-align: left;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
color: #374151;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
"
|
||||
>
|
||||
Wir haben eine Anfrage zum Zurücksetzen deines Passworts
|
||||
erhalten.<br />Verwende den folgenden Link, um ein neues Passwort
|
||||
zu erstellen:
|
||||
</p>
|
||||
<p
|
||||
style="
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin: 16px 0;
|
||||
text-align: left;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
color: #374151;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
"
|
||||
>
|
||||
<a
|
||||
href="{{reset_link}}"
|
||||
rel="noopener noreferrer nofollow"
|
||||
style="
|
||||
color: #111827;
|
||||
text-decoration: underline;
|
||||
font-weight: 500;
|
||||
"
|
||||
target="_blank"
|
||||
>{{reset_link}}</a
|
||||
>
|
||||
</p>
|
||||
<p
|
||||
style="
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin: 16px 0;
|
||||
text-align: left;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
color: #374151;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
"
|
||||
>
|
||||
Falls du diese Anfrage nicht gestellt hast, ignoriere bitte diese
|
||||
E-Mail.
|
||||
</p>
|
||||
<p
|
||||
style="
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin: 16px 0;
|
||||
text-align: left;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
color: #374151;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
"
|
||||
>
|
||||
Sportliche Grüße 🏃♂️<br />Dein Team Lauf für Kaya!
|
||||
</p>
|
||||
<hr
|
||||
style="
|
||||
width: 100%;
|
||||
border: none;
|
||||
border-top: 1px solid #eaeaea;
|
||||
margin-top: 32px;
|
||||
margin-bottom: 32px;
|
||||
"
|
||||
/>
|
||||
<p
|
||||
style="
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin: 16px 0;
|
||||
text-align: left;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
color: #374151;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
"
|
||||
>
|
||||
Lauf für Kaya! <strong>Powered by </strong
|
||||
><u
|
||||
><strong
|
||||
><a
|
||||
href="https://odit.services?ref=lfkmail"
|
||||
rel="noopener noreferrer nofollow"
|
||||
style="
|
||||
color: #111827;
|
||||
text-decoration: underline;
|
||||
font-weight: 500;
|
||||
"
|
||||
target="_blank"
|
||||
>ODIT.Services</a
|
||||
></strong
|
||||
></u
|
||||
>.<br /><u
|
||||
><strong
|
||||
><a
|
||||
href="https://lauf-fuer-kaya.de/impressum/"
|
||||
rel="noopener noreferrer nofollow"
|
||||
style="
|
||||
color: #111827;
|
||||
text-decoration: underline;
|
||||
font-weight: 500;
|
||||
"
|
||||
target="_blank"
|
||||
>Impressum</a
|
||||
></strong
|
||||
></u
|
||||
>
|
||||
-
|
||||
<u
|
||||
><strong
|
||||
><a
|
||||
href="https://lauf-fuer-kaya.de/datenschutz/"
|
||||
rel="noopener noreferrer nofollow"
|
||||
style="
|
||||
color: #111827;
|
||||
text-decoration: underline;
|
||||
font-weight: 500;
|
||||
"
|
||||
target="_blank"
|
||||
>Datenschutzerklärung</a
|
||||
></strong
|
||||
></u
|
||||
>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!--/$-->
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,13 +1,17 @@
|
||||
Anfrage zum Zurücksetzen des Passworts
|
||||
Hallo 👋
|
||||
|
||||
Hallo {{name}},
|
||||
Wir haben eine Anfrage zum Zurücksetzen deines Passworts erhalten.
|
||||
Verwende den folgenden Link, um ein neues Passwort zu erstellen:
|
||||
{{reset_link}}
|
||||
|
||||
Wir haben eine Anfrage zum Zurücksetzen Ihres Passworts erhalten. Verwenden Sie den folgenden Link, um ein neues Passwort zu erstellen:
|
||||
{{resetLink}}
|
||||
Falls du diese Anfrage nicht gestellt hast, ignoriere bitte diese E-Mail.
|
||||
|
||||
Dieser Link läuft in {{expiresIn}} ab.
|
||||
Sportliche Grüße 🏃♂️
|
||||
Dein Team Lauf für Kaya!
|
||||
|
||||
Falls Sie diese Anfrage nicht gestellt haben, ignorieren Sie bitte diese E-Mail oder kontaktieren Sie den Support, wenn Sie Bedenken haben.
|
||||
-
|
||||
|
||||
Mit freundlichen Grüßen,
|
||||
Ihr Support-Team
|
||||
Lauf für Kaya!
|
||||
Powered by ODIT.Services (https://odit.services)
|
||||
Impressum: https://lauf-fuer-kaya.de/impressum/
|
||||
Datenschutzerklärung: https://lauf-fuer-kaya.de/datenschutz/
|
||||
@@ -1,7 +1,297 @@
|
||||
<h1>Password Reset Request</h1>
|
||||
<p>Hello {{name}},</p>
|
||||
<p>We received a request to reset your password. Click the link below to create a new password:</p>
|
||||
<a href="{{resetLink}}" style="display: inline-block; background: #007bff; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px; margin: 15px 0;">Reset Password</a>
|
||||
<p>This link will expire in {{expiresIn}}.</p>
|
||||
<p>If you didn't request this password reset, please ignore this email or contact support if you have concerns.</p>
|
||||
<p>Best regards,<br>Your Support Team</p>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html dir="ltr" lang="en">
|
||||
<head>
|
||||
<meta content="width=device-width" name="viewport" />
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible" />
|
||||
<meta name="x-apple-disable-message-reformatting" />
|
||||
<meta
|
||||
content="telephone=no,address=no,email=no,date=no,url=no"
|
||||
name="format-detection"
|
||||
/>
|
||||
<meta content="light" name="color-scheme" />
|
||||
<meta content="light" name="supported-color-schemes" />
|
||||
<!--$-->
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: "Inter";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
mso-font-alt: "sans-serif";
|
||||
src: url(https://rsms.me/inter/font-files/Inter-Regular.woff2?v=3.19)
|
||||
format("woff2");
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: "Inter", sans-serif;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
blockquote,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
img,
|
||||
li,
|
||||
ol,
|
||||
p,
|
||||
ul {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
@media only screen and (max-width: 425px) {
|
||||
.tab-row-full {
|
||||
width: 100% !important;
|
||||
}
|
||||
.tab-col-full {
|
||||
display: block !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
.tab-pad {
|
||||
padding: 0 !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style="margin: 0">
|
||||
<div
|
||||
style="
|
||||
display: none;
|
||||
overflow: hidden;
|
||||
line-height: 1px;
|
||||
opacity: 0;
|
||||
max-height: 0;
|
||||
max-width: 0;
|
||||
"
|
||||
id="__react-email-preview"
|
||||
>
|
||||
Password-Reset
|
||||
<div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<table
|
||||
align="center"
|
||||
width="100%"
|
||||
border="0"
|
||||
cellpadding="0"
|
||||
cellspacing="0"
|
||||
role="presentation"
|
||||
style="
|
||||
max-width: 600px;
|
||||
min-width: 300px;
|
||||
width: 100%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding: 0.5rem;
|
||||
"
|
||||
>
|
||||
<tbody>
|
||||
<tr style="width: 100%">
|
||||
<td>
|
||||
<table
|
||||
align="center"
|
||||
width="100%"
|
||||
border="0"
|
||||
cellpadding="0"
|
||||
cellspacing="0"
|
||||
role="presentation"
|
||||
style="margin-top: 0px; margin-bottom: 32px"
|
||||
>
|
||||
<tbody style="width: 100%">
|
||||
<tr style="width: 100%">
|
||||
<td align="left" data-id="__react-email-column">
|
||||
<img
|
||||
title="Logo"
|
||||
alt="Logo"
|
||||
src="data:image/svg+xml,%3Csvg id='Gruppe_194' data-name='Gruppe 194' xmlns='http://www.w3.org/2000/svg' width='217.844' height='387.915' viewBox='0 0 217.844 387.915'%3E%3Cpath id='Pfad_1' data-name='Pfad 1' d='M229.1,167.459c-5.467-2.565-10.96-5-16.54-7.269l9.471,7.344Z' transform='translate(-29.627 36.578)' fill='%23020202'/%3E%3Cpath id='Pfad_2' data-name='Pfad 2' d='M204.37,22.44,208.8,37.666A21.193,21.193,0,0,0,204.37,22.44Z' transform='translate(-35.604 -14.354)' fill='%2308b09e'/%3E%3Cpath id='Pfad_3' data-name='Pfad 3' d='M195.651,213.848c-.651,1.089-1.251,2.177-1.964,3.253s-1.251,2.052-1.927,3.065h25.085c2.327-2.152,4.642-4.341,6.919-6.556Z' transform='translate(-40.757 55.996)' fill='%2342210b'/%3E%3Cpath id='Pfad_4' data-name='Pfad 4' d='M165.623,258.931c1.063-1.9,2.189-3.753,3.34-5.618l5.442-88.492,19.217-65.058,25.235-.45a53.01,53.01,0,0,0,.463-7.019l-26.211.5-13.9-42.225a13.387,13.387,0,0,1-4.366,3.566c-.413.225-.813.438-1.251.626L187.13,98.175l-19.317,64.207-5.755,92.095-3.128,13.074A32.529,32.529,0,0,0,165.623,258.931Z' transform='translate(-48.682 0.468)' fill='%2342210b'/%3E%3Cpath id='Pfad_5' data-name='Pfad 5' d='M212.329,90.2q.163.35.3.713l16.577-.3a17.515,17.515,0,0,0,.9-6.656V83.57l-19.1.363A12.686,12.686,0,0,0,212.329,90.2Z' transform='translate(-30.022 8.656)' fill='%2342210b'/%3E%3Cpath id='Pfad_6' data-name='Pfad 6' d='M210.887,100.425a8.394,8.394,0,0,1,.475-4.929c.263-.938.488-1.877.688-2.8l-20.643.225L183.3,119.3h30.277c1.727-2.127,3.328-4.379,5-6.568s3.14-4.554,4.629-6.894l7.407-13.362-12.3.138A22.52,22.52,0,0,1,210.887,100.425Z' transform='translate(-36.975 12.415)' fill='%2308b09e'/%3E%3Cpath id='Pfad_7' data-name='Pfad 7' d='M180.45,123.862h24.6l.363-.926a7.757,7.757,0,0,1,2.5-3.278,31.117,31.117,0,0,0,4.254-3.828l-28.876.075Z' transform='translate(-42.524 20.435)' fill='%23e82524'/%3E%3Cpath id='Pfad_8' data-name='Pfad 8' d='M177.7,132.163l5.793,5.1,16.877-.576c1.164-3.753,2.4-7.507,3.753-11.172l-24.484.388Z' transform='translate(-43.96 24.102)' fill='%23bdbec0'/%3E%3Cpath id='Pfad_9' data-name='Pfad 9' d='M182.826,138.467l-6.143-5.217-3.253,11.01,6.731,4.992Z' transform='translate(-46.621 27.099)' fill='%23491033'/%3E%3Cpath id='Pfad_10' data-name='Pfad 10' d='M195.21,144.014c.663-2.352,1.326-4.7,2.027-7.044l-10.9.363Z' transform='translate(-41.78 28.104)' fill='%23491033'/%3E%3Cpath id='Pfad_11' data-name='Pfad 11' d='M181.4,150.421l22.095,16.265,4.629-5.455a132.757,132.757,0,0,0-13.362-3.541c-1.251-.263-2.064-.513-1.589-2.2.776-2.79,1.539-5.58,2.315-8.37l-11.46-8.758Z' transform='translate(-42.536 29.51)' fill='%23ffce06'/%3E%3Cpath id='Pfad_12' data-name='Pfad 12' d='M218.948,176.87l28.863-.413a74.811,74.811,0,0,0-8.307-4.779c-2.5-1.251-5.08-2.5-7.619-3.628l-7.069.075-9.471-7.344c-2.828-1.126-5.68-2.2-8.558-3.19l-5.317,6.981Z' transform='translate(-34.998 36.199)' fill='%2308b09e'/%3E%3Cpath id='Pfad_13' data-name='Pfad 13' d='M180.2,79.961l-3.753-13.237L154.422,56.39a17.316,17.316,0,0,0-1.764.963,18.153,18.153,0,0,1-7.507,2.5,12.9,12.9,0,0,0-1.852.225l.225,2.39Z' transform='translate(-56.484 -5.829)' fill='%23491033'/%3E%3Cpath id='Pfad_14' data-name='Pfad 14' d='M169.407,55.139a18.679,18.679,0,0,1-5.2-.1,23.259,23.259,0,0,0-8.282.163L171.7,62.709Z' transform='translate(-52.757 -6.242)' fill='%23e82524'/%3E%3Cpath id='Pfad_15' data-name='Pfad 15' d='M143.96,62.212l-3.366-1.752a103.014,103.014,0,0,0-12.924,4.592l17.853,8.758Z' transform='translate(-63.187 -4.807)' fill='%23bdbec0'/%3E%3Cpath id='Pfad_16' data-name='Pfad 16' d='M126.4,89.028l.5-.813a8.232,8.232,0,0,1,7.369-4l6.781-.1-17.4-7.794-5-7.757h0a12.686,12.686,0,0,0-6.969,5.955l7.657,11.4Z' transform='translate(-68.902 3.418)' fill='%23ffce06'/%3E%3Cpath id='Pfad_17' data-name='Pfad 17' d='M120.014,99.078c1.927-3.04,3.916-6.055,5.855-9.1l-7.307-3.29L111.444,75.87c-1.539,3.653-3.128,7.306-4.654,10.972l6.143,9.208Z' transform='translate(-70.951 6.173)' fill='%23491033'/%3E%3Cpath id='Pfad_18' data-name='Pfad 18' d='M145.16,84.82l3.353-.075L147.262,75.2,126.394,65.29c-2.315,1-4.617,2-6.944,2.965l4.2,6.518Z' transform='translate(-65.947 2.196)' fill='%23491033'/%3E%3Cpath id='Pfad_19' data-name='Pfad 19' d='M152.838,87.039a2.925,2.925,0,0,0,.1.926L174.732,95.2l.851-10.434L144.43,73.89l.425,8.608,2.94-.075C151.123,82.31,152.512,83.7,152.838,87.039Z' transform='translate(-56.336 5.402)' fill='%2308b09e'/%3E%3Cpath id='Pfad_20' data-name='Pfad 20' d='M144.711,73.744l30.215,10.3.576-4L143.66,63.66Z' transform='translate(-56.598 1.61)' fill='%23e82524'/%3E%3Cpath id='Pfad_21' data-name='Pfad 21' d='M157.368,90.71l-5.818-2.39c.413,4.091.851,8.195,1.251,12.286Z' transform='translate(-54.812 10.505)' fill='%23e82524'/%3E%3Cpath id='Pfad_22' data-name='Pfad 22' d='M169.26,117.315l.863-10.347L154.109,100.4l-1.089,2.5c.275,2.5.538,5,.813,7.582Z' transform='translate(-53.772 15.059)' fill='%2308b09e'/%3E%3Cpath id='Pfad_23' data-name='Pfad 23' d='M170.379,93.52l-10.434-3.29-5,10.009L169.8,106.67Z' transform='translaLine truncated
|
||||
style="
|
||||
display: block;
|
||||
outline: none;
|
||||
border: none;
|
||||
text-decoration: none;
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2
|
||||
style="
|
||||
text-align: left;
|
||||
color: #111827;
|
||||
margin-bottom: 12px;
|
||||
margin-top: 0;
|
||||
font-size: 30px;
|
||||
line-height: 36px;
|
||||
font-weight: 700;
|
||||
"
|
||||
>
|
||||
<strong>Password-Reset</strong>
|
||||
</h2>
|
||||
<p
|
||||
style="
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin: 16px 0;
|
||||
text-align: left;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
color: #374151;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
"
|
||||
>
|
||||
<strong>Hi 👋</strong>
|
||||
</p>
|
||||
<p
|
||||
style="
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin: 16px 0;
|
||||
text-align: left;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
color: #374151;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
"
|
||||
>
|
||||
We received a request to reset your password.<br />Use the
|
||||
following link to create a new password:
|
||||
</p>
|
||||
<p
|
||||
style="
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin: 16px 0;
|
||||
text-align: left;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
color: #374151;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
"
|
||||
>
|
||||
<a
|
||||
href="{{reset_link}}"
|
||||
rel="noopener noreferrer nofollow"
|
||||
style="
|
||||
color: #111827;
|
||||
text-decoration: underline;
|
||||
font-weight: 500;
|
||||
"
|
||||
target="_blank"
|
||||
>{{reset_link}}</a
|
||||
>
|
||||
</p>
|
||||
<p
|
||||
style="
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin: 16px 0;
|
||||
text-align: left;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
color: #374151;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
"
|
||||
>
|
||||
If you didn't request this password reset, please ignore this
|
||||
email.
|
||||
</p>
|
||||
<p
|
||||
style="
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin: 16px 0;
|
||||
text-align: left;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
color: #374151;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
"
|
||||
>
|
||||
Sporty Greetings 🏃♂️<br />Your Team Lauf für Kaya!
|
||||
</p>
|
||||
<hr
|
||||
style="
|
||||
width: 100%;
|
||||
border: none;
|
||||
border-top: 1px solid #eaeaea;
|
||||
margin-top: 32px;
|
||||
margin-bottom: 32px;
|
||||
"
|
||||
/>
|
||||
<p
|
||||
style="
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin: 16px 0;
|
||||
text-align: left;
|
||||
margin-bottom: 20px;
|
||||
margin-top: 0px;
|
||||
color: #374151;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
"
|
||||
>
|
||||
Lauf für Kaya! <strong>Powered by </strong
|
||||
><u
|
||||
><strong
|
||||
><a
|
||||
href="https://odit.services?ref=lfkmail"
|
||||
rel="noopener noreferrer nofollow"
|
||||
style="
|
||||
color: #111827;
|
||||
text-decoration: underline;
|
||||
font-weight: 500;
|
||||
"
|
||||
target="_blank"
|
||||
>ODIT.Services</a
|
||||
></strong
|
||||
></u
|
||||
>.<br /><u
|
||||
><strong
|
||||
><a
|
||||
href="https://lauf-fuer-kaya.de/impressum/"
|
||||
rel="noopener noreferrer nofollow"
|
||||
style="
|
||||
color: #111827;
|
||||
text-decoration: underline;
|
||||
font-weight: 500;
|
||||
"
|
||||
target="_blank"
|
||||
>Imprint</a
|
||||
></strong
|
||||
></u
|
||||
>
|
||||
-
|
||||
<u
|
||||
><strong
|
||||
><a
|
||||
href="https://lauf-fuer-kaya.de/datenschutz/"
|
||||
rel="noopener noreferrer nofollow"
|
||||
style="
|
||||
color: #111827;
|
||||
text-decoration: underline;
|
||||
font-weight: 500;
|
||||
"
|
||||
target="_blank"
|
||||
>Privacy Policy</a
|
||||
></strong
|
||||
></u
|
||||
>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!--/$-->
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,13 +1,17 @@
|
||||
Password Reset Request
|
||||
Hello 👋
|
||||
|
||||
Hello {{name}},
|
||||
We received a request to reset your password.
|
||||
Use the following link to create a new password:
|
||||
{{reset_link}}
|
||||
|
||||
We received a request to reset your password. Use the following link to create a new password:
|
||||
{{resetLink}}
|
||||
If you didn't request this password reset, please ignore this email.
|
||||
|
||||
This link will expire in {{expiresIn}}.
|
||||
Sporty Greetings 🏃♂️
|
||||
Your Team Lauf für Kaya!
|
||||
|
||||
If you didn't request this password reset, please ignore this email or contact support if you have concerns.
|
||||
-
|
||||
|
||||
Best regards,
|
||||
Your Support Team
|
||||
Lauf für Kaya!
|
||||
Powered by ODIT.Services (https://odit.services)
|
||||
Imprint: https://lauf-fuer-kaya.de/impressum/
|
||||
Privacy Policy: https://lauf-fuer-kaya.de/datenschutz/
|
||||
Reference in new issue
Block a user