diff --git a/internal/infrastructure/email/email.go b/internal/infrastructure/email/email.go index 54d3919..ad2629f 100644 --- a/internal/infrastructure/email/email.go +++ b/internal/infrastructure/email/email.go @@ -109,7 +109,7 @@ type Service struct { // NewService creates an email service. // Pass nil sender for stub mode (logs only). -// For Resend: NewService(NewResendSender(apiKey, from), "SYNTREX", "noreply@отражение.рус") +// For Resend: NewService(NewResendSender(apiKey, from), "SYNTREX", "noreply@syntrex.pro") func NewService(sender Sender, fromName, fromAddr string) *Service { if sender == nil { sender = &StubSender{} @@ -128,53 +128,73 @@ func NewService(sender Sender, fromName, fromAddr string) *Service { } // SendVerificationCode sends a 6-digit verification code after registration. +// locale: "ru" for Russian, anything else for English. func (s *Service) SendVerificationCode(toEmail, userName, code string) error { - subject := "SYNTREX — Код подтверждения" + return s.SendVerificationCodeLocalized(toEmail, userName, code, "ru") +} + +// SendVerificationCodeLocalized sends a localized verification code email. +func (s *Service) SendVerificationCodeLocalized(toEmail, userName, code, locale string) error { + ru := locale == "ru" + var subject, greeting, instruction, validity, disclaimer string + if ru { + subject = "SYNTREX — Код подтверждения" + greeting = fmt.Sprintf("Здравствуйте, %s!", userName) + instruction = "Ваш код подтверждения email:" + validity = "Код действителен 24 часа." + disclaimer = "Если вы не регистрировались на SYNTREX — проигнорируйте это письмо." + } else { + subject = "SYNTREX — Verification Code" + greeting = fmt.Sprintf("Hello, %s!", userName) + instruction = "Your email verification code:" + validity = "This code is valid for 24 hours." + disclaimer = "If you did not sign up for SYNTREX, please ignore this email." + } body := fmt.Sprintf(`
Здравствуйте, %s!
-Ваш код подтверждения email:
+%s
+%s
Код действителен 24 часа.
+%s
- Если вы не регистрировались на SYNTREX — проигнорируйте это письмо. + %s