897de167a6
Emails should not contain user input that could be used by malicious agents to deliver a message. Usernames have been removed from account activation emails, and project names have been removed from project invitation emails. References storj-private#133 Change-Id: Ic05921149b409145df109c0966ea5dfd86d86eb1
105 lines
3.2 KiB
Go
105 lines
3.2 KiB
Go
// Copyright (C) 2022 Storj Labs, Inc.
|
|
// See LICENSE for copying information
|
|
|
|
package console
|
|
|
|
import "time"
|
|
|
|
// AccountActivationEmail is mailservice template with activation data.
|
|
type AccountActivationEmail struct {
|
|
Origin string
|
|
ActivationLink string
|
|
ContactInfoURL string
|
|
TermsAndConditionsURL string
|
|
}
|
|
|
|
// Template returns email template name.
|
|
func (*AccountActivationEmail) Template() string { return "Welcome" }
|
|
|
|
// Subject gets email subject.
|
|
func (*AccountActivationEmail) Subject() string { return "Activate your email" }
|
|
|
|
// ForgotPasswordEmail is mailservice template with reset password data.
|
|
type ForgotPasswordEmail struct {
|
|
Origin string
|
|
UserName string
|
|
ResetLink string
|
|
CancelPasswordRecoveryLink string
|
|
LetUsKnowURL string
|
|
ContactInfoURL string
|
|
TermsAndConditionsURL string
|
|
}
|
|
|
|
// Template returns email template name.
|
|
func (*ForgotPasswordEmail) Template() string { return "Forgot" }
|
|
|
|
// Subject gets email subject.
|
|
func (*ForgotPasswordEmail) Subject() string { return "Password recovery request" }
|
|
|
|
// ProjectInvitationEmail is mailservice template for project invitation email.
|
|
type ProjectInvitationEmail struct {
|
|
Origin string
|
|
UserName string
|
|
InviterEmail string
|
|
SignInLink string
|
|
LetUsKnowURL string
|
|
ContactInfoURL string
|
|
TermsAndConditionsURL string
|
|
}
|
|
|
|
// Template returns email template name.
|
|
func (*ProjectInvitationEmail) Template() string { return "Invite" }
|
|
|
|
// Subject gets email subject.
|
|
func (email *ProjectInvitationEmail) Subject() string {
|
|
return "You were invited to join a project on Storj"
|
|
}
|
|
|
|
// UnknownResetPasswordEmail is mailservice template with unknown password reset data.
|
|
type UnknownResetPasswordEmail struct {
|
|
Satellite string
|
|
Email string
|
|
DoubleCheckLink string
|
|
ResetPasswordLink string
|
|
CreateAnAccountLink string
|
|
SupportTeamLink string
|
|
}
|
|
|
|
// Template returns email template name.
|
|
func (*UnknownResetPasswordEmail) Template() string { return "UnknownReset" }
|
|
|
|
// Subject gets email subject.
|
|
func (*UnknownResetPasswordEmail) Subject() string {
|
|
return "You have requested to reset your password, but..."
|
|
}
|
|
|
|
// AccountAlreadyExistsEmail is mailservice template for email where user tries to create account, but one already exists.
|
|
type AccountAlreadyExistsEmail struct {
|
|
Origin string
|
|
SatelliteName string
|
|
SignInLink string
|
|
ResetPasswordLink string
|
|
CreateAccountLink string
|
|
}
|
|
|
|
// Template returns email template name.
|
|
func (*AccountAlreadyExistsEmail) Template() string { return "AccountAlreadyExists" }
|
|
|
|
// Subject gets email subject.
|
|
func (*AccountAlreadyExistsEmail) Subject() string {
|
|
return "Are you trying to sign in?"
|
|
}
|
|
|
|
// LockAccountEmail is mailservice template with lock account data.
|
|
type LockAccountEmail struct {
|
|
Name string
|
|
LockoutDuration time.Duration
|
|
ResetPasswordLink string
|
|
}
|
|
|
|
// Template returns email template name.
|
|
func (*LockAccountEmail) Template() string { return "LockAccount" }
|
|
|
|
// Subject gets email subject.
|
|
func (*LockAccountEmail) Subject() string { return "Account Lock" }
|