Browse Source

0.1.2 (emails)

dev
Dmitriy Sim 2 years ago
parent
commit
ca87ba7465
24 changed files with 1045 additions and 2 deletions
  1. +88
    -0
      juice/email/html/email-test.ftl
  2. +88
    -0
      juice/email/html/email-verification-with-code.ftl
  3. +88
    -0
      juice/email/html/email-verification.ftl
  4. +88
    -0
      juice/email/html/event-login_error.ftl
  5. +88
    -0
      juice/email/html/event-remove_totp.ftl
  6. +88
    -0
      juice/email/html/event-update_password.ftl
  7. +88
    -0
      juice/email/html/event-update_totp.ftl
  8. +88
    -0
      juice/email/html/executeActions.ftl
  9. +88
    -0
      juice/email/html/identity-provider-link.ftl
  10. +88
    -0
      juice/email/html/password-reset.ftl
  11. +49
    -0
      juice/email/messages/messages_de.properties
  12. +53
    -0
      juice/email/messages/messages_en.properties
  13. +6
    -0
      juice/email/text/email-test.ftl
  14. +6
    -0
      juice/email/text/email-verification-with-code.ftl
  15. +6
    -0
      juice/email/text/email-verification.ftl
  16. +6
    -0
      juice/email/text/event-login_error.ftl
  17. +6
    -0
      juice/email/text/event-remove_totp.ftl
  18. +6
    -0
      juice/email/text/event-update_password.ftl
  19. +6
    -0
      juice/email/text/event-update_totp.ftl
  20. +7
    -0
      juice/email/text/executeActions.ftl
  21. +6
    -0
      juice/email/text/identity-provider-link.ftl
  22. +6
    -0
      juice/email/text/password-reset.ftl
  23. +1
    -1
      juice/email/theme.properties
  24. +1
    -1
      version.ini

+ 88
- 0
juice/email/html/email-test.ftl View File

@ -0,0 +1,88 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>E-Mail Vorlage</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="https://use.typekit.net/vzz1gxs.css">
</head>
<style type="text/css">
#tablewidth {
max-width: 600px;
min-width: 300px;
}
a {color: #808080; font-weight: 700;}
h1 {color: #FF9900; font-family: raleway, sans-serif; font-size: 30px; font-weight: 300;}
td {font-family: lato, sans-serif; font-weight: 300;}
</style>
<body style="margin: 0; padding: 0;" bgcolor="#000000">
<table id="tablewidth" align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
<tr>
<td align="center" bgcolor="#262727" style="padding: 40px 0 30px 0;">
<img src="https://app.jplus-pilot.com/jpilot_RGB.png" alt="J Pilot Logo" width="30%" height="auto" style="display: block;" />
</td>
</tr>
<tr>
<td bgcolor="#262727" style="padding: 40px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 0px 0 50px 0; color: #ffffff; font-size: 12px; line-height: 25px;">
<h1>
<!-- SUBJECT -->
${kcSanitize(msg("emailTestBodySubject",link))?no_esc}
<!-- SUBJECT -->
</h1>
<!-- CONTENT -->
${kcSanitize(msg("emailTestBodyHtml",realmName))?no_esc}
<!-- CONTENT -->
<!-- FOOTER -->
${kcSanitize(msg("mailSignatureHtml", link))?no_esc}
<!-- FOOTER -->
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 20px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="260" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 25px 0 0 0; color: #848686; font-size: 10px; line-height: 20px;">
<!--FOOTER-->
${kcSanitize(msg("footerHTML",realmName))?no_esc}
<!--FOOTER-->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 30px 30px 30px 30px;">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" style="color: #808080; font-size: 10px;">
&copy; Copyright 2021
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

+ 88
- 0
juice/email/html/email-verification-with-code.ftl View File

@ -0,0 +1,88 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>E-Mail Vorlage</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="https://use.typekit.net/vzz1gxs.css">
</head>
<style type="text/css">
#tablewidth {
max-width: 600px;
min-width: 300px;
}
a {color: #808080; font-weight: 700;}
h1 {color: #FF9900; font-family: raleway, sans-serif; font-size: 30px; font-weight: 300;}
td {font-family: lato, sans-serif; font-weight: 300;}
</style>
<body style="margin: 0; padding: 0;" bgcolor="#000000">
<table id="tablewidth" align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
<tr>
<td align="center" bgcolor="#262727" style="padding: 40px 0 30px 0;">
<img src="https://app.jplus-pilot.com/jpilot_RGB.png" alt="J Pilot Logo" width="30%" height="auto" style="display: block;" />
</td>
</tr>
<tr>
<td bgcolor="#262727" style="padding: 40px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 0px 0 50px 0; color: #ffffff; font-size: 12px; line-height: 25px;">
<h1>
<!-- SUBJECT -->
${kcSanitize(msg("emailVerificationSubject",link))?no_esc}
<!-- SUBJECT -->
</h1>
<!-- CONTENT -->
${kcSanitize(msg("emailVerificationBodyCodeHtml",code))?no_esc}
<!-- CONTENT -->
<!-- FOOTER -->
${kcSanitize(msg("mailSignatureHtml", link))?no_esc}
<!-- FOOTER -->
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 20px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="260" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 25px 0 0 0; color: #848686; font-size: 10px; line-height: 20px;">
<!--FOOTER-->
${kcSanitize(msg("footerHTML",realmName))?no_esc}
<!--FOOTER-->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 30px 30px 30px 30px;">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" style="color: #808080; font-size: 10px;">
&copy; Copyright 2021
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

+ 88
- 0
juice/email/html/email-verification.ftl View File

@ -0,0 +1,88 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>E-Mail Vorlage</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="https://use.typekit.net/vzz1gxs.css">
</head>
<style type="text/css">
#tablewidth {
max-width: 600px;
min-width: 300px;
}
a {color: #808080; font-weight: 700;}
h1 {color: #FF9900; font-family: raleway, sans-serif; font-size: 30px; font-weight: 300;}
td {font-family: lato, sans-serif; font-weight: 300;}
</style>
<body style="margin: 0; padding: 0;" bgcolor="#000000">
<table id="tablewidth" align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
<tr>
<td align="center" bgcolor="#262727" style="padding: 40px 0 30px 0;">
<img src="https://app.jplus-pilot.com/jpilot_RGB.png" alt="J Pilot Logo" width="30%" height="auto" style="display: block;" />
</td>
</tr>
<tr>
<td bgcolor="#262727" style="padding: 40px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 0px 0 50px 0; color: #ffffff; font-size: 12px; line-height: 25px;">
<h1>
<!-- SUBJECT -->
${kcSanitize(msg("emailVerificationSubject",link))?no_esc}
<!-- SUBJECT -->
</h1>
<!-- CONTENT -->
${kcSanitize(msg("emailVerificationBodyHtml",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration)))?no_esc}
<!-- CONTENT -->
<!-- FOOTER -->
${kcSanitize(msg("mailSignatureHtml", link))?no_esc}
<!-- FOOTER -->
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 20px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="260" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 25px 0 0 0; color: #848686; font-size: 10px; line-height: 20px;">
<!--FOOTER-->
${kcSanitize(msg("footerHTML",realmName))?no_esc}
<!--FOOTER-->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 30px 30px 30px 30px;">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" style="color: #808080; font-size: 10px;">
&copy; Copyright 2021
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

+ 88
- 0
juice/email/html/event-login_error.ftl View File

@ -0,0 +1,88 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>E-Mail Vorlage</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="https://use.typekit.net/vzz1gxs.css">
</head>
<style type="text/css">
#tablewidth {
max-width: 600px;
min-width: 300px;
}
a {color: #808080; font-weight: 700;}
h1 {color: #FF9900; font-family: raleway, sans-serif; font-size: 30px; font-weight: 300;}
td {font-family: lato, sans-serif; font-weight: 300;}
</style>
<body style="margin: 0; padding: 0;" bgcolor="#000000">
<table id="tablewidth" align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
<tr>
<td align="center" bgcolor="#262727" style="padding: 40px 0 30px 0;">
<img src="https://app.jplus-pilot.com/jpilot_RGB.png" alt="J Pilot Logo" width="30%" height="auto" style="display: block;" />
</td>
</tr>
<tr>
<td bgcolor="#262727" style="padding: 40px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 0px 0 50px 0; color: #ffffff; font-size: 12px; line-height: 25px;">
<h1>
<!-- SUBJECT -->
${kcSanitize(msg("eventLoginErrorSubject",link))?no_esc}
<!-- SUBJECT -->
</h1>
<!-- CONTENT -->
${kcSanitize(msg("eventLoginErrorBodyHtml",event.date,event.ipAddress))?no_esc}
<!-- CONTENT -->
<!-- FOOTER -->
${kcSanitize(msg("mailSignatureHtml", link))?no_esc}
<!-- FOOTER -->
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 20px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="260" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 25px 0 0 0; color: #848686; font-size: 10px; line-height: 20px;">
<!--FOOTER-->
${kcSanitize(msg("footerHTML",realmName))?no_esc}
<!--FOOTER-->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 30px 30px 30px 30px;">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" style="color: #808080; font-size: 10px;">
&copy; Copyright 2021
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

+ 88
- 0
juice/email/html/event-remove_totp.ftl View File

@ -0,0 +1,88 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>E-Mail Vorlage</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="https://use.typekit.net/vzz1gxs.css">
</head>
<style type="text/css">
#tablewidth {
max-width: 600px;
min-width: 300px;
}
a {color: #808080; font-weight: 700;}
h1 {color: #FF9900; font-family: raleway, sans-serif; font-size: 30px; font-weight: 300;}
td {font-family: lato, sans-serif; font-weight: 300;}
</style>
<body style="margin: 0; padding: 0;" bgcolor="#000000">
<table id="tablewidth" align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
<tr>
<td align="center" bgcolor="#262727" style="padding: 40px 0 30px 0;">
<img src="https://app.jplus-pilot.com/jpilot_RGB.png" alt="J Pilot Logo" width="30%" height="auto" style="display: block;" />
</td>
</tr>
<tr>
<td bgcolor="#262727" style="padding: 40px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 0px 0 50px 0; color: #ffffff; font-size: 12px; line-height: 25px;">
<h1>
<!-- SUBJECT -->
${kcSanitize(msg("eventRemoveTotpSubject",link))?no_esc}
<!-- SUBJECT -->
</h1>
<!-- CONTENT -->
${kcSanitize(msg("eventRemoveTotpBodyHtml",event.date, event.ipAddress))?no_esc}
<!-- CONTENT -->
<!-- FOOTER -->
${kcSanitize(msg("mailSignatureHtml", link))?no_esc}
<!-- FOOTER -->
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 20px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="260" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 25px 0 0 0; color: #848686; font-size: 10px; line-height: 20px;">
<!--FOOTER-->
${kcSanitize(msg("footerHTML",realmName))?no_esc}
<!--FOOTER-->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 30px 30px 30px 30px;">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" style="color: #808080; font-size: 10px;">
&copy; Copyright 2021
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

+ 88
- 0
juice/email/html/event-update_password.ftl View File

@ -0,0 +1,88 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>E-Mail Vorlage</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="https://use.typekit.net/vzz1gxs.css">
</head>
<style type="text/css">
#tablewidth {
max-width: 600px;
min-width: 300px;
}
a {color: #808080; font-weight: 700;}
h1 {color: #FF9900; font-family: raleway, sans-serif; font-size: 30px; font-weight: 300;}
td {font-family: lato, sans-serif; font-weight: 300;}
</style>
<body style="margin: 0; padding: 0;" bgcolor="#000000">
<table id="tablewidth" align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
<tr>
<td align="center" bgcolor="#262727" style="padding: 40px 0 30px 0;">
<img src="https://app.jplus-pilot.com/jpilot_RGB.png" alt="J Pilot Logo" width="30%" height="auto" style="display: block;" />
</td>
</tr>
<tr>
<td bgcolor="#262727" style="padding: 40px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 0px 0 50px 0; color: #ffffff; font-size: 12px; line-height: 25px;">
<h1>
<!-- SUBJECT -->
${kcSanitize(msg("eventUpdatePasswordSubject",link))?no_esc}
<!-- SUBJECT -->
</h1>
<!-- CONTENT -->
${kcSanitize(msg("eventUpdatePasswordBodyHtml",event.date, event.ipAddress))?no_esc}
<!-- CONTENT -->
<!-- FOOTER -->
${kcSanitize(msg("mailSignatureHtml", link))?no_esc}
<!-- FOOTER -->
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 20px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="260" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 25px 0 0 0; color: #848686; font-size: 10px; line-height: 20px;">
<!--FOOTER-->
${kcSanitize(msg("footerHTML",realmName))?no_esc}
<!--FOOTER-->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 30px 30px 30px 30px;">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" style="color: #808080; font-size: 10px;">
&copy; Copyright 2021
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

+ 88
- 0
juice/email/html/event-update_totp.ftl View File

@ -0,0 +1,88 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>E-Mail Vorlage</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="https://use.typekit.net/vzz1gxs.css">
</head>
<style type="text/css">
#tablewidth {
max-width: 600px;
min-width: 300px;
}
a {color: #808080; font-weight: 700;}
h1 {color: #FF9900; font-family: raleway, sans-serif; font-size: 30px; font-weight: 300;}
td {font-family: lato, sans-serif; font-weight: 300;}
</style>
<body style="margin: 0; padding: 0;" bgcolor="#000000">
<table id="tablewidth" align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
<tr>
<td align="center" bgcolor="#262727" style="padding: 40px 0 30px 0;">
<img src="https://app.jplus-pilot.com/jpilot_RGB.png" alt="J Pilot Logo" width="30%" height="auto" style="display: block;" />
</td>
</tr>
<tr>
<td bgcolor="#262727" style="padding: 40px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 0px 0 50px 0; color: #ffffff; font-size: 12px; line-height: 25px;">
<h1>
<!-- SUBJECT -->
${kcSanitize(msg("eventUpdateTotpSubject",link))?no_esc}
<!-- SUBJECT -->
</h1>
<!-- CONTENT -->
${kcSanitize(msg("eventUpdateTotpBodyHtml",event.date, event.ipAddress))?no_esc}
<!-- CONTENT -->
<!-- FOOTER -->
${kcSanitize(msg("mailSignatureHtml", link))?no_esc}
<!-- FOOTER -->
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 20px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="260" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 25px 0 0 0; color: #848686; font-size: 10px; line-height: 20px;">
<!--FOOTER-->
${kcSanitize(msg("footerHTML",realmName))?no_esc}
<!--FOOTER-->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 30px 30px 30px 30px;">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" style="color: #808080; font-size: 10px;">
&copy; Copyright 2021
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

+ 88
- 0
juice/email/html/executeActions.ftl View File

@ -0,0 +1,88 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>E-Mail Vorlage</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="https://use.typekit.net/vzz1gxs.css">
</head>
<style type="text/css">
#tablewidth {
max-width: 600px;
min-width: 300px;
}
a {color: #808080; font-weight: 700;}
h1 {color: #FF9900; font-family: raleway, sans-serif; font-size: 30px; font-weight: 300;}
td {font-family: lato, sans-serif; font-weight: 300;}
</style>
<body style="margin: 0; padding: 0;" bgcolor="#000000">
<table id="tablewidth" align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
<tr>
<td align="center" bgcolor="#262727" style="padding: 40px 0 30px 0;">
<img src="https://app.jplus-pilot.com/jpilot_RGB.png" alt="J Pilot Logo" width="30%" height="auto" style="display: block;" />
</td>
</tr>
<tr>
<td bgcolor="#262727" style="padding: 40px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 0px 0 50px 0; color: #ffffff; font-size: 12px; line-height: 25px;">
<h1>
<!-- SUBJECT -->
${kcSanitize(msg("executeActionsSubject",link))?no_esc}
<!-- SUBJECT -->
</h1>
<!-- CONTENT -->
${kcSanitize(msg("executeActionsBodyHtml",link, linkExpiration, realmName, requiredActionsText, linkExpirationFormatter(linkExpiration)))?no_esc}
<!-- CONTENT -->
<!-- FOOTER -->
${kcSanitize(msg("mailSignatureHtml", link))?no_esc}
<!-- FOOTER -->
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 20px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="260" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 25px 0 0 0; color: #848686; font-size: 10px; line-height: 20px;">
<!--FOOTER-->
${kcSanitize(msg("footerHTML",realmName))?no_esc}
<!--FOOTER-->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 30px 30px 30px 30px;">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" style="color: #808080; font-size: 10px;">
&copy; Copyright 2021
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

+ 88
- 0
juice/email/html/identity-provider-link.ftl View File

@ -0,0 +1,88 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>E-Mail Vorlage</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="https://use.typekit.net/vzz1gxs.css">
</head>
<style type="text/css">
#tablewidth {
max-width: 600px;
min-width: 300px;
}
a {color: #808080; font-weight: 700;}
h1 {color: #FF9900; font-family: raleway, sans-serif; font-size: 30px; font-weight: 300;}
td {font-family: lato, sans-serif; font-weight: 300;}
</style>
<body style="margin: 0; padding: 0;" bgcolor="#000000">
<table id="tablewidth" align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
<tr>
<td align="center" bgcolor="#262727" style="padding: 40px 0 30px 0;">
<img src="https://app.jplus-pilot.com/jpilot_RGB.png" alt="J Pilot Logo" width="30%" height="auto" style="display: block;" />
</td>
</tr>
<tr>
<td bgcolor="#262727" style="padding: 40px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 0px 0 50px 0; color: #ffffff; font-size: 12px; line-height: 25px;">
<h1>
<!-- SUBJECT -->
${kcSanitize(msg("identityProviderLinkSubject",link))?no_esc}
<!-- SUBJECT -->
</h1>
<!-- CONTENT -->
${kcSanitize(msg("identityProviderLinkBodyHtml", identityProviderAlias, realmName, identityProviderContext.username, link, linkExpiration, linkExpirationFormatter(linkExpiration)))?no_esc}
<!-- CONTENT -->
<!-- FOOTER -->
${kcSanitize(msg("mailSignatureHtml", link))?no_esc}
<!-- FOOTER -->
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 20px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="260" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 25px 0 0 0; color: #848686; font-size: 10px; line-height: 20px;">
<!--FOOTER-->
${kcSanitize(msg("footerHTML",realmName))?no_esc}
<!--FOOTER-->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 30px 30px 30px 30px;">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" style="color: #808080; font-size: 10px;">
&copy; Copyright 2021
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

+ 88
- 0
juice/email/html/password-reset.ftl View File

@ -0,0 +1,88 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>E-Mail Vorlage</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="https://use.typekit.net/vzz1gxs.css">
</head>
<style type="text/css">
#tablewidth {
max-width: 600px;
min-width: 300px;
}
a {color: #808080; font-weight: 700;}
h1 {color: #FF9900; font-family: raleway, sans-serif; font-size: 30px; font-weight: 300;}
td {font-family: lato, sans-serif; font-weight: 300;}
</style>
<body style="margin: 0; padding: 0;" bgcolor="#000000">
<table id="tablewidth" align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;">
<tr>
<td align="center" bgcolor="#262727" style="padding: 40px 0 30px 0;">
<img src="https://app.jplus-pilot.com/jpilot_RGB.png" alt="J Pilot Logo" width="30%" height="auto" style="display: block;" />
</td>
</tr>
<tr>
<td bgcolor="#262727" style="padding: 40px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 0px 0 50px 0; color: #ffffff; font-size: 12px; line-height: 25px;">
<h1>
<!-- SUBJECT -->
${kcSanitize(msg("passwordResetSubject",link))?no_esc}
<!-- SUBJECT -->
</h1>
<!-- CONTENT -->
${kcSanitize(msg("passwordResetBodyHtml",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration)))?no_esc}
<!-- CONTENT -->
<!-- FOOTER -->
${kcSanitize(msg("mailSignatureHtml", link))?no_esc}
<!-- FOOTER -->
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 20px 30px 20px 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="260" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="padding: 25px 0 0 0; color: #848686; font-size: 10px; line-height: 20px;">
<!--FOOTER-->
${kcSanitize(msg("footerHTML",realmName))?no_esc}
<!--FOOTER-->
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#000000" style="padding: 30px 30px 30px 30px;">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" style="color: #808080; font-size: 10px;">
&copy; Copyright 2021
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

+ 49
- 0
juice/email/messages/messages_de.properties View File

@ -0,0 +1,49 @@
emailVerificationSubject=E-Mail verifizieren
emailVerificationBody=Jemand hat ein {2} Konto mit dieser E-Mail-Adresse erstellt. Falls Du das warst, dann klicke auf den Link, um die E-Mail-Adresse zu verifizieren.\n\n{0}\n\nDieser Link wird in {1} Minuten ablaufen.\n\nFalls Du dieses Konto nicht erstellt hast, dann kannst Du diese Nachricht ignorieren.
emailVerificationBodyHtml=<p>Jemand hat ein {2} Konto mit dieser E-Mail-Adresse erstellt. Falls Du das warst, dann klicke auf den Link, um die E-Mail-Adresse zu verifizieren.</p><p><a href="{0}">Link zur Best\u00E4tigung der E-Mail-Adresse</a></p><p>Dieser Link wird in {1} Minuten ablaufen.</p><p>Falls Du dieses Konto nicht erstellt hast, dann kannst Du diese Nachricht ignorieren.</p>
identityProviderLinkSubject=Link {0}
identityProviderLinkBody=Es wurde beantragt Deinen Account {1} mit dem Account {0} von Benutzer {2} zu verlinken. Solltest Du dies beantragt hast, klicke auf den unten stehenden Link.\n\n{3}\n\n Die G\u00FCltigkeit des Links wird in {4} Minuten verfallen.\n\nSolltest Du Deinen Account nicht verlinken wollen, ignoriere diese Nachricht. Wenn Du die Accounts verlinkst, wird ein Login auf {1} \u00FCber {0} erm\u00F6glicht.
identityProviderLinkBodyHtml=<p>Es wurde beantragt Deinen Account {1} mit dem Account {0} von Benutzer {2} zu verlinken. Solltest Du dies beantragt hast, klicke auf den unten stehenden Link.</p><p><a href="{3}">Link zur Best\u00E4tigung der Kontoverkn\u00FCpfung</a></p><p>Die G\u00FCltigkeit des Links wird in {4} Minuten verfallen.</p><p>Solltest Du Deinen Account nicht verlinken wollen, ignoriere diese Nachricht. Wenn Du die Accounts verlinkst, wird ein Login auf {1} \u00FCber {0} erm\u00F6glicht.</p>
passwordResetSubject=Passwort zur\u00FCcksetzen
passwordResetBody=Es wurde eine \u00C4nderung der Anmeldeinformationen f\u00FCr Deinen Account {2} angefordert. Wenn Du diese \u00C4nderung beantragt hast, klicke auf den unten stehenden Link.\n\n{0}\n\nDie G\u00FCltigkeit des Links wird in {1} Minuten verfallen.\n\nSolltest Du keine \u00C4nderung vollziehen wollen, kannst Du diese Nachricht ignorieren und an Deinem Account wird nichts ge\u00E4ndert.
passwordResetBodyHtml=<p>Es wurde eine \u00C4nderung der Anmeldeinformationen f\u00FCr Deinen Account {2} angefordert. Wenn Du diese \u00C4nderung beantragt hast, klicke auf den unten stehenden Link.</p><p><a href="{0}">Link zum Zur\u00FCcksetzen von Anmeldeinformationen</a></p><p>Die G\u00FCltigkeit des Links wird in {1} Minuten verfallen.</p><p>Solltest Du keine \u00C4nderung vollziehen wollen, kannst Du diese Nachricht ignorieren und an Deinem Account wird nichts ge\u00E4ndert.</p>
executeActionsSubject=Aktualisiere Dein Konto
executeActionsBody=Dein Administrator hat Dich aufgefordert, Deinen Account {2} zu aktualisieren. Klicke auf den unten stehenden Link, um den Prozess zu starten.\n\n{0}\n\nDie G\u00FCltigkeit des Links wird in {1} Minuten verfallen.\n\nSolltest Du Dich dieser Aufforderung nicht bewusst sein, ignoriere diese Nachricht und Dein Account bleibt unver\u00E4ndert.
executeActionsBodyHtml=<p>Dein Administrator hat Dich aufgefordert, Deinen Account {2} zu aktualisieren. Klicke auf den unten stehenden Link, um den Prozess zu starten.</p><p><a href="{0}">Link zum Account-Update</a></p><p>Die G\u00FCltigkeit des Links wird in {1} Minuten verfallen.</p><p>Solltest Du Dich dieser Aufforderung nicht bewusst sein, ignoriere diese Nachricht und Dein Account bleibt unver\u00E4ndert.</p>
eventLoginErrorSubject=Fehlgeschlagene Anmeldung
eventLoginErrorBody=Jemand hat um {0} von {1} versucht, sich mit Deinem Konto anzumelden. Falls es nicht Du warst, dann kontaktiere bitte Deinen Admin.
eventLoginErrorBodyHtml=<p>Jemand hat um {0} von {1} versucht, sich mit Deinem Konto anzumelden. Falls es nicht Du warst, dann kontaktiere bitte Deinen Admin.</p>
eventRemoveTotpSubject=OTP Entfernt
eventRemoveTotpBody=OTP wurde von Deinem Konto am {0} von {1} entfernt. Falls es nicht Du warst, dann kontaktiere bitte Deinen Admin.
eventRemoveTotpBodyHtml=<p>OTP wurde von Deinem Konto am {0} von {1} entfernt. Falls es nicht Du warst, dann kontaktiere bitte Deinen Admin.</p>
eventUpdatePasswordSubject=Passwort Aktualisiert
eventUpdatePasswordBody=Dein Passwort wurde am {0} von {1} ge\u00E4ndert. Falls es nicht Du warst, dann kontaktiere bitte Deinen Admin.
eventUpdatePasswordBodyHtml=<p>Dein Passwort wurde am {0} von {1} ge\u00E4ndert. Falls es nicht Du warst, dann kontaktiere bitte Deinen Admin.</p>
eventUpdateTotpSubject=OTP Aktualisiert
eventUpdateTotpBody=OTP wurde am {0} von {1} ge\u00E4ndert. Falls es nicht Du warst, dann kontaktiere bitte Deinen Admin.
eventUpdateTotpBodyHtml=<p>OTP wurde am {0} von {1} ge\u00E4ndert. Falls es nicht Du warst, dann kontaktiere bitte Deinen Admin.</p>
requiredAction.CONFIGURE_TOTP=Mehrfachauthentifizierung konfigurieren
requiredAction.terms_and_conditions=Bedingungen und Konditionen
requiredAction.UPDATE_PASSWORD=Passwort aktualisieren
requiredAction.UPDATE_PROFILE=Profil aktualisieren
requiredAction.VERIFY_EMAIL=E-Mail-Adresse verifizieren
# units for link expiration timeout formatting
linkExpirationFormatter.timePeriodUnit.seconds=Sekunden
linkExpirationFormatter.timePeriodUnit.seconds.1=Sekunde
linkExpirationFormatter.timePeriodUnit.minutes=Minuten
linkExpirationFormatter.timePeriodUnit.minutes.1=Minute
linkExpirationFormatter.timePeriodUnit.hours=Stunden
linkExpirationFormatter.timePeriodUnit.hours.1=Stunde
linkExpirationFormatter.timePeriodUnit.days=Tage
linkExpirationFormatter.timePeriodUnit.days.1=Tag
emailVerificationBodyCode=Bitte verifiziere Deine E-Mail-Adresse, indem Du den folgenden Code eingibst.\n\n{0}\n\n.
emailVerificationBodyCodeHtml=<p>Bitte verifiziere Deine E-Mail-Adresse, indem Du den folgenden Code eingibst.</p><p><b>{0}</b></p>
footer=Du erh&auml;ltst diese E-Mail, weil Du mit dieser E-Mail-Adresse bei j+ registriert bist.\n\nWenn Du in Zukunft keine weiteren E-Mails erhalten m&ouml;chtest, schreibe uns bitte auf support@jplus-pilot.com\n\n&copy; Copyright 2021 Juice Telemetrics AG\nGesch&auml;ftsf&uuml;hrer: Christoph Erni\nGesellschaftssitz: Cham CH\nAdresse: Gewerbestrasse 7 | 6330 Cham | Switzerland\nUSt-ID: CHE-497.622.911\n\nHast Du Fragen? Du erreichst uns schnell und kostenlos &uuml;ber support@jplus-pilot.com\n\nPflichtinformationen gem&auml;ss Artikel 13 DSGVO Im Falle des Erstkontakts sind wir gem&auml;ss Art. 12, 13 DSGVO verpflichtet, Dir folgende datenschutzrechtliche Pflichtinformationen zur Verf&uuml;gung zu stellen: Wenn Du uns per E-Mail kontaktierst, verarbeiten wir Deine personenbezogenen Daten nur, soweit an der Verarbeitung ein berechtigtes Interesse besteht (Art. 6 Abs. 1 lit. f DSGVO), Du in die Datenverarbeitung eingewilligt hast (Art. 6 Abs. 1 lit. a DSGVO), die Verarbeitung für die Anbahnung, Begr&uuml;ndung, inhaltliche Ausgestaltung oder &Auml;nderung eines Rechtsverh&auml;ltnisses zwischen Dir und uns erforderlich sind (Art. 6 Abs. 1 lit. b DSGVO) oder eine sonstige Rechtsnorm die Verarbeitung gestattet. Deine personenbezogenen Daten verbleiben bei uns, bis Du uns zur L&ouml;schung aufforderst, Deine Einwilligung zur Speicherung widerrufen oder der Zweck für die Datenspeicherung entf&auml;llt (z. B. nach abgeschlossener Bearbeitung Deines Anliegens). Zwingende gesetzliche Bestimmungen – insbesondere steuer- und handelsrechtliche Aufbewahrungsfristen – bleiben unber&uuml;hrt. Du hast jederzeit das Recht, unentgeltlich Auskunft &uuml;ber Herkunft, Empf&auml;nger und Zweck Deiner gespeicherten personenbezogenen Daten zu erhalten. Dir steht ausserdem ein Recht auf Widerspruch, auf Daten&uuml;bertragbarkeit und ein Beschwerderecht bei der zust&auml;ndigen Aufsichtsbeh&ouml;rde zu. Ferner kannst Du die Berichtigung, die L&ouml;schung und unter bestimmten Umst&auml;nden die Einschr&auml;nkung der Verarbeitung Deiner personenbezogenen Daten verlangen.
footerHTML=<p>Du erh&auml;ltst diese E-Mail, weil Du mit dieser E-Mail-Adresse bei j+ registriert bist.</p><p>Wenn Du in Zukunft keine weiteren E-Mails erhalten m&ouml;chtest, schreibe uns bitte hier <a href="mailto:support@jplus-pilot.com" style="color: #808080; font-weight: 700;">support@jplus-pilot.com</a>.</p><p>&copy; Copyright 2021 Juice Telemetrics AG<br>Gesch&auml;ftsf&uuml;hrer: Christoph Erni<br>Gesellschaftssitz: Cham CH<br>Adresse: Gewerbestrasse 7 | 6330 Cham | Switzerland<br>USt-ID: CHE-497.622.911</p><p>Hast Du Fragen? Du erreichst uns schnell und kostenlos &uuml;ber <a href="mailto:support@jplus-pilot.com" style="color: #808080; font-weight: 700;">support@jplus-pilot.com</a></p><p align="justify">Pflichtinformationen gem&auml;ss Artikel 13 DSGVO Im Falle des Erstkontakts sind wir gem&auml;ss Art. 12, 13 DSGVO verpflichtet, Dir folgende datenschutzrechtliche Pflichtinformationen zur Verf&uuml;gung zu stellen: Wenn Du uns per E-Mail kontaktierst, verarbeiten wir Deine personenbezogenen Daten nur, soweit an der Verarbeitung ein berechtigtes Interesse besteht (Art. 6 Abs. 1 lit. f DSGVO), Du in die Datenverarbeitung eingewilligt hast (Art. 6 Abs. 1 lit. a DSGVO), die Verarbeitung für die Anbahnung, Begr&uuml;ndung, inhaltliche Ausgestaltung oder &Auml;nderung eines Rechtsverh&auml;ltnisses zwischen Dir und uns erforderlich sind (Art. 6 Abs. 1 lit. b DSGVO) oder eine sonstige Rechtsnorm die Verarbeitung gestattet. Deine personenbezogenen Daten verbleiben bei uns, bis Du uns zur L&ouml;schung aufforderst, Deine Einwilligung zur Speicherung widerrufen oder der Zweck für die Datenspeicherung entf&auml;llt (z. B. nach abgeschlossener Bearbeitung Deines Anliegens). Zwingende gesetzliche Bestimmungen – insbesondere steuer- und handelsrechtliche Aufbewahrungsfristen – bleiben unber&uuml;hrt. Du hast jederzeit das Recht, unentgeltlich Auskunft &uuml;ber Herkunft, Empf&auml;nger und Zweck Deiner gespeicherten personenbezogenen Daten zu erhalten. Dir steht ausserdem ein Recht auf Widerspruch, auf Daten&uuml;bertragbarkeit und ein Beschwerderecht bei der zust&auml;ndigen Aufsichtsbeh&ouml;rde zu. Ferner kannst Du die Berichtigung, die L&ouml;schung und unter bestimmten Umst&auml;nden die Einschr&auml;nkung der Verarbeitung Deiner personenbezogenen Daten verlangen.</p>
mailSignatureHtml=Dein j+ pilot Team
mailSignature=Dein j+ pilot Team

+ 53
- 0
juice/email/messages/messages_en.properties View File

@ -0,0 +1,53 @@
emailVerificationSubject=Verify email
emailVerificationBody=Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address\n\n{0}\n\nThis link will expire within {3}.\n\nIf you didn't create this account, just ignore this message.
emailVerificationBodyHtml=<p>Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address</p><p><a href="{0}">Link to e-mail address verification</a></p><p>This link will expire within {3}.</p><p>If you didn't create this account, just ignore this message.</p>
identityProviderLinkSubject=Link {0}
identityProviderLinkBody=Someone wants to link your "{1}" account with "{0}" account of user {2} . If this was you, click the link below to link accounts\n\n{3}\n\nThis link will expire within {5}.\n\nIf you don't want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}.
identityProviderLinkBodyHtml=<p>Someone wants to link your <b>{1}</b> account with <b>{0}</b> account of user {2} . If this was you, click the link below to link accounts</p><p><a href="{3}">Link to confirm account linking</a></p><p>This link will expire within {5}.</p><p>If you don't want to link accounts, just ignore this message. If you link accounts, you will be able to login to {1} through {0}.</p>
passwordResetSubject=Reset password
passwordResetBody=Someone just requested to change your {2} account's credentials. If this was you, click on the link below to reset them.\n\n{0}\n\nThis link and code will expire within {3}.\n\nIf you don't want to reset your credentials, just ignore this message and nothing will be changed.
passwordResetBodyHtml=<p>Someone just requested to change your {2} account's credentials. If this was you, click on the link below to reset them.</p><p><a href="{0}">Link to reset credentials</a></p><p>This link will expire within {3}.</p><p>If you don't want to reset your credentials, just ignore this message and nothing will be changed.</p>
executeActionsSubject=Update your Account
executeActionsBody=Your administrator has just requested that you update your {2} account by performing the following action(s): {3}. Click on the link below to start this process.\n\n{0}\n\nThis link will expire within {4}.\n\nIf you are unaware that your administrator has requested this, just ignore this message and nothing will be changed.
executeActionsBodyHtml=<p>Your administrator has just requested that you update your {2} account by performing the following action(s): {3}. Click on the link below to start this process.</p><p><a href="{0}">Link to account update</a></p><p>This link will expire within {4}.</p><p>If you are unaware that your administrator has requested this, just ignore this message and nothing will be changed.</p>
eventLoginErrorSubject=Login error
eventLoginErrorBody=A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an administrator.
eventLoginErrorBodyHtml=<p>A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an administrator.</p>
eventRemoveTotpSubject=Remove OTP
eventRemoveTotpBody=OTP was removed from your account on {0} from {1}. If this was not you, please contact an administrator.
eventRemoveTotpBodyHtml=<p>OTP was removed from your account on {0} from {1}. If this was not you, please contact an administrator.</p>
eventUpdatePasswordSubject=Update password
eventUpdatePasswordBody=Your password was changed on {0} from {1}. If this was not you, please contact an administrator.
eventUpdatePasswordBodyHtml=<p>Your password was changed on {0} from {1}. If this was not you, please contact an administrator.</p>
eventUpdateTotpSubject=Update OTP
eventUpdateTotpBody=OTP was updated for your account on {0} from {1}. If this was not you, please contact an administrator.
eventUpdateTotpBodyHtml=<p>OTP was updated for your account on {0} from {1}. If this was not you, please contact an administrator.</p>
requiredAction.CONFIGURE_TOTP=Configure OTP
requiredAction.terms_and_conditions=Terms and Conditions
requiredAction.UPDATE_PASSWORD=Update Password
requiredAction.UPDATE_PROFILE=Update Profile
requiredAction.VERIFY_EMAIL=Verify Email
# units for link expiration timeout formatting
linkExpirationFormatter.timePeriodUnit.seconds=seconds
linkExpirationFormatter.timePeriodUnit.seconds.1=second
linkExpirationFormatter.timePeriodUnit.minutes=minutes
linkExpirationFormatter.timePeriodUnit.minutes.1=minute
#for language which have more unit plural forms depending on the value (eg. Czech and other Slavic langs) you can override unit text for some other values like this:
#linkExpirationFormatter.timePeriodUnit.minutes.2=minuty
#linkExpirationFormatter.timePeriodUnit.minutes.3=minuty
#linkExpirationFormatter.timePeriodUnit.minutes.4=minuty
linkExpirationFormatter.timePeriodUnit.hours=hours
linkExpirationFormatter.timePeriodUnit.hours.1=hour
linkExpirationFormatter.timePeriodUnit.days=days
linkExpirationFormatter.timePeriodUnit.days.1=day
emailVerificationBodyCode=Please verify your email address by entering in the following code.\n\n{0}\n\n.
emailVerificationBodyCodeHtml=<p>Please verify your email address by entering in the following code.</p><p><b>{0}</b></p>
footer=You have received this e-mail because you are registered at j+ under this e-mail address.\n\nIf you do not wish to receive any further e-mail correspondence, please write us at support@jplus-pilot.com.\n\n&copy; Copyright 2021 Juice Telemetrics AG\nChief Executive Officer: Christoph Erni\nRegistered office: Cham, Switzerland\nAddress: Gewerbestrasse 7 | 6330 Cham | Switzerland\nVAT ID: CHE-497.622.911\n\nDo you have any questions, or need more information? You can reach us quickly and free of charge at support@jplus-pilot.com\n\nInformation to be provided in accordance with Article 13 of the General Data Protection Regulation (GDPR). When you first initiate contact with us, we are obligated in accordance with Articles 12 and 13 of the GDPR to provide you with the following mandatory legal information concerning data protection: When you contact us by e-mail, we process your personal data only to the extent necessary for the purposes of pursuing our legitimate interests (as per Art. 6 para. 1 point (f) of the GDPR), you have given consent to the processing of your personal data (as per Art. 6 para. 1 point (a) of the GDPR), said processing is necessary to initiate, justify, create or amend a legal relationship between you and us (Art. 6 para. 1 point (b) of the GDPR), or some other legal norm permits the processing. We retain your personal data until you either request us to erase your data or revoke your consent to our storing your data, or the purpose of the data storage lapses (e.g. once the processing of your request or transaction has been completed). Mandatory statutory provisions – in particular governing data retention periods mandated by tax or trade law – remain unaffected by these regulations. You have the right at any time to obtain, free of charge, information on the origin, recipient(s) and purpose of your personal information that we have stored. You also have to right to object to said data processing, the right to data portability, and the right to lodge a complaint with the competent supervisory authority. You furthermore have the right to demand the rectification or erasure of your personal data and, under certain circumstances, to restrict the processing of your personal data.
footerHTML=<p>You have received this e-mail because you are registered at j+ under this e-mail address.</p><p>If you do not wish to receive any further e-mail correspondence, please write us at<a href="mailto:support@jplus-pilot.com" style="color: #808080; font-weight: 700;">support@jplus-pilot.com</a>.</p><p>&copy; Copyright 2021 Juice Telemetrics AG<br>Chief Executive Officer: Christoph Erni<br>Registered office: Cham, Switzerland<br>Address: Gewerbestrasse 7 | 6330 Cham | Switzerland<br>VAT ID: CHE-497.622.911</p><p>Do you have any questions, or need more information? You can reach us quickly and free of charge at <a href="mailto:support@jplus-pilot.com" style="color: #808080; font-weight: 700;">support@jplus-pilot.com</a></p><p align="justify">Information to be provided in accordance with Article 13 of the General Data Protection Regulation (GDPR). When you first initiate contact with us, we are obligated in accordance with Articles 12 and 13 of the GDPR to provide you with the following mandatory legal information concerning data protection: When you contact us by e-mail, we process your personal data only to the extent necessary for the purposes of pursuing our legitimate interests (as per Art. 6 para. 1 point (f) of the GDPR), you have given consent to the processing of your personal data (as per Art. 6 para. 1 point (a) of the GDPR), said processing is necessary to initiate, justify, create or amend a legal relationship between you and us (Art. 6 para. 1 point (b) of the GDPR), or some other legal norm permits the processing. We retain your personal data until you either request us to erase your data or revoke your consent to our storing your data, or the purpose of the data storage lapses (e.g. once the processing of your request or transaction has been completed). Mandatory statutory provisions – in particular governing data retention periods mandated by tax or trade law – remain unaffected by these regulations. You have the right at any time to obtain, free of charge, information on the origin, recipient(s) and purpose of your personal information that we have stored. You also have to right to object to said data processing, the right to data portability, and the right to lodge a complaint with the competent supervisory authority. You furthermore have the right to demand the rectification or erasure of your personal data and, under certain circumstances, to restrict the processing of your personal data.</p>
mailSignatureHtml=Your j+ pilot team
mailSignature=Your j+ pilot team

+ 6
- 0
juice/email/text/email-test.ftl View File

@ -0,0 +1,6 @@
<#ftl output_format="plainText">
${msg("emailTestSubject",link)}
${msg("emailTestBody", realmName)}
${msg("mailSignature", link)}
${msg("footer",realmName)}

+ 6
- 0
juice/email/text/email-verification-with-code.ftl View File

@ -0,0 +1,6 @@
<#ftl output_format="plainText">
${msg("emailVerificationSubject",link)}
${msg("emailVerificationBodyCode",code)}
${msg("mailSignature", link)}
${msg("footer",realmName)}

+ 6
- 0
juice/email/text/email-verification.ftl View File

@ -0,0 +1,6 @@
<#ftl output_format="plainText">
${msg("emailVerificationSubject",link)}
${msg("emailVerificationBody",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration))}
${msg("mailSignature", link)}
${msg("footer",realmName)}

+ 6
- 0
juice/email/text/event-login_error.ftl View File

@ -0,0 +1,6 @@
<#ftl output_format="plainText">
${msg("eventLoginErrorSubject",link)}
${msg("eventLoginErrorBody",event.date,event.ipAddress)}
${msg("mailSignature", link)}
${msg("footer",realmName)}

+ 6
- 0
juice/email/text/event-remove_totp.ftl View File

@ -0,0 +1,6 @@
<#ftl output_format="plainText">
${msg("eventRemoveTotpSubject",link)}
${msg("eventRemoveTotpBody",event.date, event.ipAddress)}
${msg("mailSignature", link)}
${msg("footer",realmName)}

+ 6
- 0
juice/email/text/event-update_password.ftl View File

@ -0,0 +1,6 @@
<#ftl output_format="plainText">
${msg("eventUpdatePasswordSubject",link)}
${msg("eventUpdatePasswordBody",event.date, event.ipAddress)}
${msg("mailSignature", link)}
${msg("footer",realmName)}

+ 6
- 0
juice/email/text/event-update_totp.ftl View File

@ -0,0 +1,6 @@
<#ftl output_format="plainText">
${msg("eventUpdateTotpSubject",link)}
${msg("eventUpdateTotpBody",event.date, event.ipAddress)}
${msg("mailSignature", link)}
${msg("footer",realmName)}

+ 7
- 0
juice/email/text/executeActions.ftl View File

@ -0,0 +1,7 @@
<#ftl output_format="plainText">
<#assign requiredActionsText><#if requiredActions??><#list requiredActions><#items as reqActionItem>${msg("requiredAction.${reqActionItem}")}<#sep>, </#items></#list><#else></#if></#assign>
${msg("executeActionsSubject",link)}
${msg("executeActionsBody",link, linkExpiration, realmName, requiredActionsText, linkExpirationFormatter(linkExpiration))}
${msg("mailSignature", link)}
${msg("footer",realmName)}

+ 6
- 0
juice/email/text/identity-provider-link.ftl View File

@ -0,0 +1,6 @@
<#ftl output_format="plainText">
${msg("identityProviderLinkSubject",link)}
${msg("identityProviderLinkBody", identityProviderAlias, realmName, identityProviderContext.username, link, linkExpiration, linkExpirationFormatter(linkExpiration))}
${msg("mailSignature", link)}
${msg("footer",realmName)}

+ 6
- 0
juice/email/text/password-reset.ftl View File

@ -0,0 +1,6 @@
<#ftl output_format="plainText">
${msg("passwordResetSubject",link)}
${msg("passwordResetBody",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration))}
${msg("mailSignature", link)}
${msg("footer",realmName)}

+ 1
- 1
juice/email/theme.properties View File

@ -1 +1 @@
parent=base
locales=de,en

+ 1
- 1
version.ini View File

@ -1 +1 @@
0.1.1
0.1.2

Loading…
Cancel
Save