package services import ( "log" ) // EmailService defines interface for email operations type EmailService interface { SendEmail(to, subject, body string) error } // MockEmailService implements EmailService logging to stdout type MockEmailService struct{} func NewMockEmailService() *MockEmailService { return &MockEmailService{} } func (s *MockEmailService) SendEmail(to, subject, body string) error { log.Printf("----------------------------------------------------------------") log.Printf("[MOCK EMAIL] To: %s", to) log.Printf("[MOCK EMAIL] Subject: %s", subject) log.Printf("[MOCK EMAIL] Body:\n%s", body) log.Printf("----------------------------------------------------------------") // Simulate success return nil } // In proper implementation, we would have SMTP email service here // func NewSMTPEmailService(...) ...