package smtpclient import ( "net/smtp" ) type MockSMTPInterface interface { Auth(username string, password string) Send(from string, to []string, subject string, body string) error Close() } type MockSMTP struct { Host string Port int Username string auth smtp.Auth } func (s *MockSMTP) Auth(username string, password string) { s.auth = smtp.PlainAuth("", username, password, s.Host) } func (s *MockSMTP) Send(from string, to []string, subject string, body string) error { return nil } func (s *MockSMTP) Close() { s.Host = "" s.Username = "" s.auth = nil }