Files
emailsender/pkg/email/mock.go
T
urko b3c22c261e feat: harden SMTP transport
Add explicit TLS modes, context-aware delivery, and typed transport errors.
Preserve raw MIME messages and cover the new delivery paths with local SMTP tests.
2026-08-18 18:16:22 -06:00

27 lines
671 B
Go

package email
import (
"context"
)
type MockCallbackFn func(params ...interface{})
// NewMockMailService is retained for compatibility. It never creates a network
// connection and contains no insecure TLS configuration.
func NewMockMailService(callbackFn MockCallbackFn, params ...interface{}) *EmailService {
return &EmailService{
from: "mock@example.invalid",
connectTimeout: DefaultConnectTimeout,
operationTimeout: DefaultOperationTimeout,
sendRawHook: func(ctx context.Context, _ RawMessage) error {
if err := ctx.Err(); err != nil {
return err
}
if callbackFn != nil {
callbackFn(params...)
}
return nil
},
}
}