package service import ( "fmt" "os" "github.com/resend/resend-go/v2" ) type EmailService struct { client *resend.Client fromEmail string } func NewEmailService() *EmailService { apiKey := os.Getenv("RESEND_API_KEY") from := os.Getenv("RESEND_FROM_EMAIL") if from == "" { from = "noreply@multica.ai" } var client *resend.Client if apiKey != "" { client = resend.NewClient(apiKey) } return &EmailService{ client: client, fromEmail: from, } } func (s *EmailService) SendVerificationCode(to, code string) error { if s.client == nil { fmt.Printf("[DEV] Verification code for %s: %s\n", to, code) return nil } params := &resend.SendEmailRequest{ From: s.fromEmail, To: []string{to}, Subject: "Your Multica verification code", Html: fmt.Sprintf( `
%s
This code expires in 10 minutes.
If you didn't request this code, you can safely ignore this email.