feat(backend): add support line to emails (#8502)

* feat(backend): add support line to emails

* - fixed snapshots

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
Co-authored-by: Sebastian Stein <sebastian@codepassion.de>
This commit is contained in:
Moriz Wahl 2025-05-14 18:04:08 +02:00 committed by GitHub
parent a9a8dd3531
commit 77cd6a4a04
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 792 additions and 6 deletions

View File

@ -7,7 +7,7 @@ GRAPHQL_URI=http://localhost:4000
CLIENT_URI=http://localhost:3000
# E-Mail default settings
EMAIL_SUPPORT="devops@ocelot.social"
SUPPORT_EMAIL="devops@ocelot.social"
EMAIL_DEFAULT_SENDER="devops@ocelot.social"
SMTP_HOST=
SMTP_PORT=

View File

@ -7,7 +7,7 @@ GRAPHQL_URI=http://localhost:4000
CLIENT_URI=http://localhost:3000
# E-Mail default settings
EMAIL_SUPPORT="devops@ocelot.social"
SUPPORT_EMAIL="devops@ocelot.social"
EMAIL_DEFAULT_SENDER="devops@ocelot.social"
SMTP_HOST=mailserver
SMTP_PORT=1025

View File

@ -1,8 +1,5 @@
// this file is duplicated in `backend/src/config/` and `webapp/constants/` and replaced on rebranding by https://github.com/Ocelot-Social-Community/Ocelot-Social-Deploy-Rebranding/tree/master/branding/constants/
export default {
SUPPORT_EMAIL: 'devops@ocelot.social',
MODERATION_EMAIL: 'devops@ocelot.social',
// ATTENTION: the following links have to be defined even for internal pages with full URLs as example like 'https://staging.ocelot.social/support', because they are used in e-mails!
ORGANIZATION_LINK: 'https://ocelot.social',
SUPPORT_LINK: 'https://ocelot.social',
}

View File

@ -112,6 +112,7 @@ const s3 = {
const options = {
EMAIL_DEFAULT_SENDER: env.EMAIL_DEFAULT_SENDER,
SUPPORT_EMAIL: env.SUPPORT_EMAIL,
SUPPORT_URL: emails.SUPPORT_LINK,
APPLICATION_NAME: metadata.APPLICATION_NAME,
ORGANIZATION_URL: emails.ORGANIZATION_LINK,

View File

@ -99,6 +99,9 @@ footer {
<p>PS: If you don't want to receive e-mails anymore, change your <a class="settings" href="http://webapp:3000/settings/notifications">notification settings</a>!</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -121,6 +124,9 @@ See you soon on ocelot.social [https://ocelot.social]!
PS: If you don't want to receive e-mails anymore, change your notification
settings [http://webapp:3000/settings/notifications]!
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -226,6 +232,9 @@ footer {
<p>PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine <a class="settings" href="http://webapp:3000/settings/notifications">Benachrichtigungseinstellungen</a>!</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -248,6 +257,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine
Benachrichtigungseinstellungen [http://webapp:3000/settings/notifications]!
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",

View File

@ -99,6 +99,9 @@ footer {
<p> The ocelot.social Team</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -124,6 +127,9 @@ See you soon on ocelot.social [https://ocelot.social]!
The ocelot.social Team
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -229,6 +235,9 @@ footer {
<p> Dein ocelot.social Team</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -254,6 +263,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
Dein ocelot.social Team
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",

View File

@ -98,6 +98,9 @@ footer {
<p>PS: If you don't want to receive e-mails anymore, change your <a class="settings" href="http://webapp:3000/settings/notifications">notification settings</a>!</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -120,6 +123,9 @@ See you soon on ocelot.social [https://ocelot.social]!
PS: If you don't want to receive e-mails anymore, change your notification
settings [http://webapp:3000/settings/notifications]!
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -225,6 +231,9 @@ footer {
<p>PS: If you don't want to receive e-mails anymore, change your <a class="settings" href="http://webapp:3000/settings/notifications">notification settings</a>!</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -248,6 +257,9 @@ See you soon on ocelot.social [https://ocelot.social]!
PS: If you don't want to receive e-mails anymore, change your notification
settings [http://webapp:3000/settings/notifications]!
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -353,6 +365,9 @@ footer {
<p>PS: If you don't want to receive e-mails anymore, change your <a class="settings" href="http://webapp:3000/settings/notifications">notification settings</a>!</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -376,6 +391,9 @@ See you soon on ocelot.social [https://ocelot.social]!
PS: If you don't want to receive e-mails anymore, change your notification
settings [http://webapp:3000/settings/notifications]!
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -481,6 +499,9 @@ footer {
<p>PS: If you don't want to receive e-mails anymore, change your <a class="settings" href="http://webapp:3000/settings/notifications">notification settings</a>!</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -504,6 +525,9 @@ See you soon on ocelot.social [https://ocelot.social]!
PS: If you don't want to receive e-mails anymore, change your notification
settings [http://webapp:3000/settings/notifications]!
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -609,6 +633,9 @@ footer {
<p>PS: If you don't want to receive e-mails anymore, change your <a class="settings" href="http://webapp:3000/settings/notifications">notification settings</a>!</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -631,6 +658,9 @@ See you soon on ocelot.social [https://ocelot.social]!
PS: If you don't want to receive e-mails anymore, change your notification
settings [http://webapp:3000/settings/notifications]!
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -735,6 +765,9 @@ footer {
<p>PS: If you don't want to receive e-mails anymore, change your <a class="settings" href="http://webapp:3000/settings/notifications">notification settings</a>!</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -757,6 +790,9 @@ See you soon on ocelot.social [https://ocelot.social]!
PS: If you don't want to receive e-mails anymore, change your notification
settings [http://webapp:3000/settings/notifications]!
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -861,6 +897,9 @@ footer {
<p>PS: If you don't want to receive e-mails anymore, change your <a class="settings" href="http://webapp:3000/settings/notifications">notification settings</a>!</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -880,6 +919,9 @@ See you soon on ocelot.social [https://ocelot.social]!
PS: If you don't want to receive e-mails anymore, change your notification
settings [http://webapp:3000/settings/notifications]!
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -985,6 +1027,9 @@ footer {
<p>PS: If you don't want to receive e-mails anymore, change your <a class="settings" href="http://webapp:3000/settings/notifications">notification settings</a>!</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -1007,6 +1052,9 @@ See you soon on ocelot.social [https://ocelot.social]!
PS: If you don't want to receive e-mails anymore, change your notification
settings [http://webapp:3000/settings/notifications]!
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -1112,6 +1160,9 @@ footer {
<p>PS: If you don't want to receive e-mails anymore, change your <a class="settings" href="http://webapp:3000/settings/notifications">notification settings</a>!</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -1134,6 +1185,9 @@ See you soon on ocelot.social [https://ocelot.social]!
PS: If you don't want to receive e-mails anymore, change your notification
settings [http://webapp:3000/settings/notifications]!
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -1238,6 +1292,9 @@ footer {
<p>PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine <a class="settings" href="http://webapp:3000/settings/notifications">Benachrichtigungseinstellungen</a>!</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -1260,6 +1317,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine
Benachrichtigungseinstellungen [http://webapp:3000/settings/notifications]!
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -1365,6 +1425,9 @@ footer {
<p>PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine <a class="settings" href="http://webapp:3000/settings/notifications">Benachrichtigungseinstellungen</a>!</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -1388,6 +1451,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine
Benachrichtigungseinstellungen [http://webapp:3000/settings/notifications]!
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -1493,6 +1559,9 @@ footer {
<p>PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine <a class="settings" href="http://webapp:3000/settings/notifications">Benachrichtigungseinstellungen</a>!</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -1516,6 +1585,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine
Benachrichtigungseinstellungen [http://webapp:3000/settings/notifications]!
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -1621,6 +1693,9 @@ footer {
<p>PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine <a class="settings" href="http://webapp:3000/settings/notifications">Benachrichtigungseinstellungen</a>!</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -1644,6 +1719,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine
Benachrichtigungseinstellungen [http://webapp:3000/settings/notifications]!
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -1749,6 +1827,9 @@ footer {
<p>PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine <a class="settings" href="http://webapp:3000/settings/notifications">Benachrichtigungseinstellungen</a>!</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -1771,6 +1852,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine
Benachrichtigungseinstellungen [http://webapp:3000/settings/notifications]!
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -1875,6 +1959,9 @@ footer {
<p>PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine <a class="settings" href="http://webapp:3000/settings/notifications">Benachrichtigungseinstellungen</a>!</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -1897,6 +1984,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine
Benachrichtigungseinstellungen [http://webapp:3000/settings/notifications]!
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -2001,6 +2091,9 @@ footer {
<p>PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine <a class="settings" href="http://webapp:3000/settings/notifications">Benachrichtigungseinstellungen</a>!</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -2020,6 +2113,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine
Benachrichtigungseinstellungen [http://webapp:3000/settings/notifications]!
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -2125,6 +2221,9 @@ footer {
<p>PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine <a class="settings" href="http://webapp:3000/settings/notifications">Benachrichtigungseinstellungen</a>!</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -2147,6 +2246,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine
Benachrichtigungseinstellungen [http://webapp:3000/settings/notifications]!
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -2252,6 +2354,9 @@ footer {
<p>PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine <a class="settings" href="http://webapp:3000/settings/notifications">Benachrichtigungseinstellungen</a>!</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -2274,6 +2379,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
PS: Möchtest du keine E-Mails mehr erhalten, dann ändere deine
Benachrichtigungseinstellungen [http://webapp:3000/settings/notifications]!
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",

View File

@ -102,6 +102,9 @@ footer {
<p> The ocelot.social Team</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -133,6 +136,9 @@ See you soon on ocelot.social [https://ocelot.social]!
The ocelot.social Team
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -241,6 +247,9 @@ footer {
<p> Dein ocelot.social Team</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -273,6 +282,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
Dein ocelot.social Team
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -381,6 +393,9 @@ footer {
<p> The ocelot.social Team</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -412,6 +427,9 @@ See you soon on ocelot.social [https://ocelot.social]!
The ocelot.social Team
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -520,6 +538,9 @@ footer {
<p> Dein ocelot.social Team</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -552,6 +573,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
Dein ocelot.social Team
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",

View File

@ -99,6 +99,9 @@ footer {
<p> The ocelot.social Team</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -123,6 +126,9 @@ See you soon on ocelot.social [https://ocelot.social]!
The ocelot.social Team
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -228,6 +234,9 @@ footer {
<p> Dein ocelot.social Team</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -253,6 +262,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
Dein ocelot.social Team
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",

View File

@ -99,6 +99,9 @@ footer {
<p> The ocelot.social Team</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -121,6 +124,9 @@ See you soon on ocelot.social [https://ocelot.social]!
The ocelot.social Team
If you have questions or problems, feel free to contact our support:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
@ -226,6 +232,9 @@ footer {
<p> Dein ocelot.social Team</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:devops@ocelot.social">devops@ocelot.social</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
@ -248,6 +257,9 @@ Bis bald bei ocelot.social [https://ocelot.social]!
Dein ocelot.social Team
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
devops@ocelot.social [devops@ocelot.social]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",

View File

@ -0,0 +1,531 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`sendResetPasswordMail with support English renders correctly 1`] = `
{
"attachments": [],
"from": "ocelot.social <devops@ocelot.social>",
"html": "<!DOCTYPE html>
<html lang="en">
<head>
<meta content="multipart/html; charset=UTF-8" http-equiv="content-type">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>.wf-force-outline-none[tabindex="-1"]:focus{outline:none;}</style>
<style>body{
display: block;
font-family: Lato, sans-serif;
font-size: 17px;
text-align: left;
text-align: -webkit-left;
justify-content: center;
padding: 15px;
margin: 0px;
}
h2 {
margin-top: 25px;
font-size: 25px;
font-weight: normal;
line-height: 22px;
color: #333333;
}
.container {
max-width: 680px;
margin: 0 auto;
display: block;
}
.head-logo {
width: 60%;
height: auto;
display: block;
margin-left: auto;
margin-right: auto;
}
a {
color: #17b53e;
}
a.button {
background: #17b53e;
font-family: Lato, sans-serif;
font-size: 16px;
line-height: 15px;
text-decoration: none;
text-align:center;
padding: 13px 17px;
color: #ffffff;
display: table;
margin-left: auto;
margin-right: auto;
border-radius: 4px;
}
span {
color: #17b53e;
}
.text-block {
margin-top: 20px;
color: #000000;
}
footer {
padding: 20px;
font-family: Lato, sans-serif;
font-size: 12px;
line-height: 15px;
text-align: center;
color: #888888;
}
</style>
</head>
<body>
<div class="container">
<header>
<div class="head"><img class="head-logo" alt="Welcome Image" loading="lazy" src="http://webapp:3000/img/custom/logo-squared.svg">
</div>
</header>
<h2>Hello Jenny Rostock,</h2>
<div class="wrapper">
<div class="content"></div>
<p>So, you forgot your password? No problem! Just click the button below to reset it within the next 24 hours:</p><a class="button" href="http://webapp:3000/password-reset/change-password?email=user%40example.org&amp;nonce=123456">Confirm your e-mail address</a>
<p>If you didn't request a new password feel free to ignore this e-mail.</p>
<p>If the above button doesn't work you can also copy the following code into your browser window: <span>123456</span></p>
<div class="text-block">
<p>See you soon on <a class="organization" href="https://ocelot.social">ocelot.social</a>!</p>
<p> The ocelot.social Team</p>
</div>
</div>
<div class="support">
<p>If you have questions or problems, feel free to contact our support: <a href="mailto:support@example.org">support@example.org</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
</div>
</body>
</html>",
"subject": "Reset Password ocelot.social",
"text": "HELLO JENNY ROSTOCK,
So, you forgot your password? No problem! Just click the button below to reset
it within the next 24 hours:
Confirm your e-mail address
[http://webapp:3000/password-reset/change-password?email=user%40example.org&nonce=123456]
If you didn't request a new password feel free to ignore this e-mail.
If the above button doesn't work you can also copy the following code into your
browser window: 123456
See you soon on ocelot.social [https://ocelot.social]!
The ocelot.social Team
If you have questions or problems, feel free to contact our support:
support@example.org [support@example.org]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
}
`;
exports[`sendResetPasswordMail with support German renders correctly 1`] = `
{
"attachments": [],
"from": "ocelot.social <devops@ocelot.social>",
"html": "<!DOCTYPE html>
<html lang="de">
<head>
<meta content="multipart/html; charset=UTF-8" http-equiv="content-type">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>.wf-force-outline-none[tabindex="-1"]:focus{outline:none;}</style>
<style>body{
display: block;
font-family: Lato, sans-serif;
font-size: 17px;
text-align: left;
text-align: -webkit-left;
justify-content: center;
padding: 15px;
margin: 0px;
}
h2 {
margin-top: 25px;
font-size: 25px;
font-weight: normal;
line-height: 22px;
color: #333333;
}
.container {
max-width: 680px;
margin: 0 auto;
display: block;
}
.head-logo {
width: 60%;
height: auto;
display: block;
margin-left: auto;
margin-right: auto;
}
a {
color: #17b53e;
}
a.button {
background: #17b53e;
font-family: Lato, sans-serif;
font-size: 16px;
line-height: 15px;
text-decoration: none;
text-align:center;
padding: 13px 17px;
color: #ffffff;
display: table;
margin-left: auto;
margin-right: auto;
border-radius: 4px;
}
span {
color: #17b53e;
}
.text-block {
margin-top: 20px;
color: #000000;
}
footer {
padding: 20px;
font-family: Lato, sans-serif;
font-size: 12px;
line-height: 15px;
text-align: center;
color: #888888;
}
</style>
</head>
<body>
<div class="container">
<header>
<div class="head"><img class="head-logo" alt="Welcome Image" loading="lazy" src="http://webapp:3000/img/custom/logo-squared.svg">
</div>
</header>
<h2>Hallo Jenny Rostock,</h2>
<div class="wrapper">
<div class="content"></div>
<p>Du hast also dein Passwort vergessen? Kein Problem! Mit Klick auf diesen Button kannst du innerhalb der nächsten 24 Stunden dein Passwort zurücksetzen:</p><a class="button" href="http://webapp:3000/password-reset/change-password?email=user%40example.org&amp;nonce=123456">Bestätige deine E-Mail Adresse</a>
<p>Falls du kein neues Passwort angefordert hast, kannst du diese E-Mail einfach ignorieren.</p>
<p>Sollte der Button für dich nicht funktionieren, kannst du auch folgenden Code in dein Browserfenster kopieren: <span>123456</span></p>
<div class="text-block">
<p>Bis bald bei <a class="organization" href="https://ocelot.social">ocelot.social</a>!</p>
<p> Dein ocelot.social Team</p>
</div>
</div>
<div class="support">
<p>Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: <a href="mailto:support@example.org">support@example.org</a></p>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
</div>
</body>
</html>",
"subject": "Neues Passwort ocelot.social",
"text": "HALLO JENNY ROSTOCK,
Du hast also dein Passwort vergessen? Kein Problem! Mit Klick auf diesen Button
kannst du innerhalb der nächsten 24 Stunden dein Passwort zurücksetzen:
Bestätige deine E-Mail Adresse
[http://webapp:3000/password-reset/change-password?email=user%40example.org&nonce=123456]
Falls du kein neues Passwort angefordert hast, kannst du diese E-Mail einfach
ignorieren.
Sollte der Button für dich nicht funktionieren, kannst du auch folgenden Code in
dein Browserfenster kopieren: 123456
Bis bald bei ocelot.social [https://ocelot.social]!
Dein ocelot.social Team
Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden:
support@example.org [support@example.org]
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
}
`;
exports[`sendResetPasswordMail without support English renders correctly 1`] = `
{
"attachments": [],
"from": "ocelot.social <devops@ocelot.social>",
"html": "<!DOCTYPE html>
<html lang="en">
<head>
<meta content="multipart/html; charset=UTF-8" http-equiv="content-type">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>.wf-force-outline-none[tabindex="-1"]:focus{outline:none;}</style>
<style>body{
display: block;
font-family: Lato, sans-serif;
font-size: 17px;
text-align: left;
text-align: -webkit-left;
justify-content: center;
padding: 15px;
margin: 0px;
}
h2 {
margin-top: 25px;
font-size: 25px;
font-weight: normal;
line-height: 22px;
color: #333333;
}
.container {
max-width: 680px;
margin: 0 auto;
display: block;
}
.head-logo {
width: 60%;
height: auto;
display: block;
margin-left: auto;
margin-right: auto;
}
a {
color: #17b53e;
}
a.button {
background: #17b53e;
font-family: Lato, sans-serif;
font-size: 16px;
line-height: 15px;
text-decoration: none;
text-align:center;
padding: 13px 17px;
color: #ffffff;
display: table;
margin-left: auto;
margin-right: auto;
border-radius: 4px;
}
span {
color: #17b53e;
}
.text-block {
margin-top: 20px;
color: #000000;
}
footer {
padding: 20px;
font-family: Lato, sans-serif;
font-size: 12px;
line-height: 15px;
text-align: center;
color: #888888;
}
</style>
</head>
<body>
<div class="container">
<header>
<div class="head"><img class="head-logo" alt="Welcome Image" loading="lazy" src="http://webapp:3000/img/custom/logo-squared.svg">
</div>
</header>
<h2>Hello Jenny Rostock,</h2>
<div class="wrapper">
<div class="content"></div>
<p>So, you forgot your password? No problem! Just click the button below to reset it within the next 24 hours:</p><a class="button" href="http://webapp:3000/password-reset/change-password?email=user%40example.org&amp;nonce=123456">Confirm your e-mail address</a>
<p>If you didn't request a new password feel free to ignore this e-mail.</p>
<p>If the above button doesn't work you can also copy the following code into your browser window: <span>123456</span></p>
<div class="text-block">
<p>See you soon on <a class="organization" href="https://ocelot.social">ocelot.social</a>!</p>
<p> The ocelot.social Team</p>
</div>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
</div>
</body>
</html>",
"subject": "Reset Password ocelot.social",
"text": "HELLO JENNY ROSTOCK,
So, you forgot your password? No problem! Just click the button below to reset
it within the next 24 hours:
Confirm your e-mail address
[http://webapp:3000/password-reset/change-password?email=user%40example.org&nonce=123456]
If you didn't request a new password feel free to ignore this e-mail.
If the above button doesn't work you can also copy the following code into your
browser window: 123456
See you soon on ocelot.social [https://ocelot.social]!
The ocelot.social Team
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
}
`;
exports[`sendResetPasswordMail without support German renders correctly 1`] = `
{
"attachments": [],
"from": "ocelot.social <devops@ocelot.social>",
"html": "<!DOCTYPE html>
<html lang="de">
<head>
<meta content="multipart/html; charset=UTF-8" http-equiv="content-type">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>.wf-force-outline-none[tabindex="-1"]:focus{outline:none;}</style>
<style>body{
display: block;
font-family: Lato, sans-serif;
font-size: 17px;
text-align: left;
text-align: -webkit-left;
justify-content: center;
padding: 15px;
margin: 0px;
}
h2 {
margin-top: 25px;
font-size: 25px;
font-weight: normal;
line-height: 22px;
color: #333333;
}
.container {
max-width: 680px;
margin: 0 auto;
display: block;
}
.head-logo {
width: 60%;
height: auto;
display: block;
margin-left: auto;
margin-right: auto;
}
a {
color: #17b53e;
}
a.button {
background: #17b53e;
font-family: Lato, sans-serif;
font-size: 16px;
line-height: 15px;
text-decoration: none;
text-align:center;
padding: 13px 17px;
color: #ffffff;
display: table;
margin-left: auto;
margin-right: auto;
border-radius: 4px;
}
span {
color: #17b53e;
}
.text-block {
margin-top: 20px;
color: #000000;
}
footer {
padding: 20px;
font-family: Lato, sans-serif;
font-size: 12px;
line-height: 15px;
text-align: center;
color: #888888;
}
</style>
</head>
<body>
<div class="container">
<header>
<div class="head"><img class="head-logo" alt="Welcome Image" loading="lazy" src="http://webapp:3000/img/custom/logo-squared.svg">
</div>
</header>
<h2>Hallo Jenny Rostock,</h2>
<div class="wrapper">
<div class="content"></div>
<p>Du hast also dein Passwort vergessen? Kein Problem! Mit Klick auf diesen Button kannst du innerhalb der nächsten 24 Stunden dein Passwort zurücksetzen:</p><a class="button" href="http://webapp:3000/password-reset/change-password?email=user%40example.org&amp;nonce=123456">Bestätige deine E-Mail Adresse</a>
<p>Falls du kein neues Passwort angefordert hast, kannst du diese E-Mail einfach ignorieren.</p>
<p>Sollte der Button für dich nicht funktionieren, kannst du auch folgenden Code in dein Browserfenster kopieren: <span>123456</span></p>
<div class="text-block">
<p>Bis bald bei <a class="organization" href="https://ocelot.social">ocelot.social</a>!</p>
<p> Dein ocelot.social Team</p>
</div>
</div>
<footer>
<div class="footer"></div><a href="https://ocelot.social">ocelot.social Community</a>
</footer>
</div>
</body>
</html>",
"subject": "Neues Passwort ocelot.social",
"text": "HALLO JENNY ROSTOCK,
Du hast also dein Passwort vergessen? Kein Problem! Mit Klick auf diesen Button
kannst du innerhalb der nächsten 24 Stunden dein Passwort zurücksetzen:
Bestätige deine E-Mail Adresse
[http://webapp:3000/password-reset/change-password?email=user%40example.org&nonce=123456]
Falls du kein neues Passwort angefordert hast, kannst du diese E-Mail einfach
ignorieren.
Sollte der Button für dich nicht funktionieren, kannst du auch folgenden Code in
dein Browserfenster kopieren: 123456
Bis bald bei ocelot.social [https://ocelot.social]!
Dein ocelot.social Team
ocelot.social Community [https://ocelot.social]",
"to": "user@example.org",
}
`;

View File

@ -28,6 +28,7 @@
"introduction": "Du möchtest also deine E-Mail ändern? Kein Problem! Mit Klick auf diesen Button kannst du deine neue E-Mail Adresse bestätigen:",
"doNotChange": "Falls du deine E-Mail Adresse doch nicht ändern möchtest, kannst du diese Nachricht einfach ignorieren. "
},
"support": "Wenn du Fragen oder Probleme hast, kannst du dich gerne an den Support wenden: ",
"buttons": {
"confirmEmail": "Bestätige deine E-Mail Adresse",
"resetPassword": "Passwort zurücksetzen",

View File

@ -28,6 +28,7 @@
"introduction": "So, you want to change your e-mail? No problem! Just click the button below to verify your new address:",
"doNotChange": "If you don't want to change your e-mail address feel free to ignore this message. "
},
"support": "If you have questions or problems, feel free to contact our support: ",
"buttons": {
"confirmEmail": "Confirm your e-mail address",
"resetPassword": "Reset password",

View File

@ -18,11 +18,12 @@ import { UserDbProperties } from '@db/types/User'
const welcomeImageUrl = new URL(logosWebapp.LOGO_WELCOME_PATH, CONFIG.CLIENT_URI)
const settingsUrl = new URL('/settings/notifications', CONFIG.CLIENT_URI)
const defaultParams = {
export const defaultParams = {
welcomeImageUrl,
APPLICATION_NAME: CONFIG.APPLICATION_NAME,
ORGANIZATION_NAME: metadata.ORGANIZATION_NAME,
ORGANIZATION_URL: CONFIG.ORGANIZATION_URL,
SUPPORT_EMAIL: CONFIG.SUPPORT_EMAIL,
supportUrl: CONFIG.SUPPORT_URL,
settingsUrl,
renderSettingsUrl: true,

View File

@ -0,0 +1,67 @@
import { sendResetPasswordMail, defaultParams } from './sendEmail'
describe('sendResetPasswordMail', () => {
const data: {
email: string
nonce: string
locale: string
name: string
} = {
email: 'user@example.org',
nonce: '123456',
locale: 'en',
name: 'Jenny Rostock',
}
describe('with support', () => {
beforeEach(() => {
defaultParams.SUPPORT_EMAIL = 'support@example.org'
})
describe('English', () => {
beforeEach(() => {
data.locale = 'en'
})
it('renders correctly', async () => {
await expect(sendResetPasswordMail(data)).resolves.toMatchSnapshot()
})
})
describe('German', () => {
beforeEach(() => {
data.locale = 'de'
})
it('renders correctly', async () => {
await expect(sendResetPasswordMail(data)).resolves.toMatchSnapshot()
})
})
})
describe('without support', () => {
beforeEach(() => {
delete defaultParams.SUPPORT_EMAIL
})
describe('English', () => {
beforeEach(() => {
data.locale = 'en'
})
it('renders correctly', async () => {
await expect(sendResetPasswordMail(data)).resolves.toMatchSnapshot()
})
})
describe('German', () => {
beforeEach(() => {
data.locale = 'de'
})
it('renders correctly', async () => {
await expect(sendResetPasswordMail(data)).resolves.toMatchSnapshot()
})
})
})
})

View File

@ -0,0 +1,2 @@
p= t('support')
a(href='mailto:' + supportEmail)= supportEmail

View File

@ -27,4 +27,9 @@ html(lang=locale)
block content
include includes/greeting.pug
- var supportEmail = SUPPORT_EMAIL
if supportEmail
.support
include includes/support.pug
include includes/footer.pug