Files
mailx/sender.go
T
2026-08-15 01:38:05 +08:00

18 lines
754 B
Go

package mailx
import "context"
// Sender 发送通道接口,所有通道都实现该接口。
// 实现该接口即可接入任意发送通道(SMTP/阿里云/AWS/Mailgun/自定义网关等),
// 并复用 Manager 的注册路由、默认通道、日志注入与消息校验能力。
type Sender interface {
// Name 返回通道类型名(如 "smtp" / "aliyun" / "aws" / "mailgun")。
// 注意:Name 表示通道类型,不代表管理器中的唯一实例;
// 同一类型可用 RegisterNamed 注册多份不同配置的实例。
Name() string
// Send 发送一封邮件。ctx 用于超时与取消控制;
// 可通过 LoggerFromContext(ctx) 获取调用方注入的日志器。
Send(ctx context.Context, msg *Message) error
}