18 lines
754 B
Go
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
|
|
}
|