add link information to reset password email

This commit is contained in:
Moriz Wahl 2022-03-23 16:57:04 +01:00
parent d1644ad2ae
commit f1686523df
4 changed files with 24 additions and 4 deletions

View File

@ -15,7 +15,7 @@ import { klicktippNewsletterStateMiddleware } from '@/middleware/klicktippMiddle
import { UserSettingRepository } from '@repository/UserSettingRepository' import { UserSettingRepository } from '@repository/UserSettingRepository'
import { Setting } from '@enum/Setting' import { Setting } from '@enum/Setting'
import { LoginEmailOptIn } from '@entity/LoginEmailOptIn' import { LoginEmailOptIn } from '@entity/LoginEmailOptIn'
import { sendResetPasswordEmail } from '@/mailer/sendResetPasswordEmail' import { sendResetPasswordEmail as sendResetPasswordEmailMailer } from '@/mailer/sendResetPasswordEmail'
import { sendAccountActivationEmail } from '@/mailer/sendAccountActivationEmail' import { sendAccountActivationEmail } from '@/mailer/sendAccountActivationEmail'
import { klicktippSignIn } from '@/apis/KlicktippController' import { klicktippSignIn } from '@/apis/KlicktippController'
import { RIGHTS } from '@/auth/RIGHTS' import { RIGHTS } from '@/auth/RIGHTS'
@ -450,11 +450,12 @@ export class UserResolver {
) )
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars
const emailSent = await sendResetPasswordEmail({ const emailSent = await sendResetPasswordEmailMailer({
link, link,
firstName: user.firstName, firstName: user.firstName,
lastName: user.lastName, lastName: user.lastName,
email, email,
duration: printEmailCodeValidTime(),
}) })
/* uncomment this, when you need the activation link on the console /* uncomment this, when you need the activation link on the console

View File

@ -1,15 +1,17 @@
import { sendEMail } from './sendEMail' import { sendEMail } from './sendEMail'
import { resetPassword } from './text/resetPassword' import { resetPassword } from './text/resetPassword'
import CONFIG from '@/config'
export const sendResetPasswordEmail = (data: { export const sendResetPasswordEmail = (data: {
link: string link: string
firstName: string firstName: string
lastName: string lastName: string
email: string email: string
duration: string
}): Promise<boolean> => { }): Promise<boolean> => {
return sendEMail({ return sendEMail({
to: `${data.firstName} ${data.lastName} <${data.email}>`, to: `${data.firstName} ${data.lastName} <${data.email}>`,
subject: resetPassword.de.subject, subject: resetPassword.de.subject,
text: resetPassword.de.text(data), text: resetPassword.de.text({ ...data, resendLink: CONFIG.EMAIL_LINK_FORGOTPASSWORD }),
}) })
} }

View File

@ -16,6 +16,7 @@ Deine E-Mail-Adresse wurde soeben bei Gradido registriert.
Klicke bitte auf diesen Link, um die Registrierung abzuschließen und dein Gradido-Konto zu aktivieren: Klicke bitte auf diesen Link, um die Registrierung abzuschließen und dein Gradido-Konto zu aktivieren:
${data.link} ${data.link}
oder kopiere den obigen Link in dein Browserfenster. oder kopiere den obigen Link in dein Browserfenster.
Der Link hat eine Gültigkeit von ${data.duration Der Link hat eine Gültigkeit von ${data.duration
.replace('hours', 'Stunden') .replace('hours', 'Stunden')
.replace('minutes', 'Minuten') .replace('minutes', 'Minuten')

View File

@ -1,13 +1,29 @@
export const resetPassword = { export const resetPassword = {
de: { de: {
subject: 'Gradido: Passwort zurücksetzen', subject: 'Gradido: Passwort zurücksetzen',
text: (data: { link: string; firstName: string; lastName: string; email: string }): string => text: (data: {
link: string
firstName: string
lastName: string
email: string
duration: string
resendLink: string
}): string =>
`Hallo ${data.firstName} ${data.lastName}, `Hallo ${data.firstName} ${data.lastName},
Du oder jemand anderes hat für dieses Konto ein Zurücksetzen des Passworts angefordert. Du oder jemand anderes hat für dieses Konto ein Zurücksetzen des Passworts angefordert.
Wenn du es warst, klicke bitte auf den Link: ${data.link} Wenn du es warst, klicke bitte auf den Link: ${data.link}
oder kopiere den obigen Link in Dein Browserfenster. oder kopiere den obigen Link in Dein Browserfenster.
Der Link hat eine Gültigkeit von ${data.duration
.replace('hours', 'Stunden')
.replace('minutes', 'Minuten')
.replace(
' and ',
' und ',
)}. Sollte die Gültigkeit des Links bereits abgelaufen sein, kannst du dir hier einen neuen Link schicken lassen, in dem du deine E-Mail-Adresse eingibst:
${data.resendLink}
Mit freundlichen Grüßen, Mit freundlichen Grüßen,
dein Gradido-Team`, dein Gradido-Team`,
}, },