Documentation ¶
Index ¶
- func RandomStr(n int) string
- type Config
- type Email
- func (e *Email) GetMessage(req EmailRequest) (*gomail.Message, error)
- func (e *Email) GetSender() (gomail.SendCloser, error)
- func (e *Email) IsHealth() bool
- func (e *Email) Send(req EmailRequest) (EmailResult, error)
- func (e *Email) SendEmailWithMessage(message *gomail.Message) error
- func (e *Email) SendGoMail(req EmailRequest) error
- func (e *Email) SendMany(reqList []EmailRequest) ([]EmailResult, error)
- func (e *Email) SendWithTag(tagKey, tagValue string, req EmailRequest) error
- type EmailRequest
- type EmailResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶ added in v0.1.1
type Config struct { HeaderTagName string `yaml:"header_tag_name" json:"header_tag_name"` // 请求头标记名 HeaderTagValue string `yaml:"header_tag_value" json:"header_tag_value"` // 请求头标记值 CommonTitle string `yaml:"common_title" json:"common_title"` // 通用邮件标题 Id string `yaml:"id" json:"id"` // 用于SMTP登录 SendSleepMillisecond int `yaml:"send_sleep_millisecond" json:"send_sleep_millisecond"` // 发送邮件的间隔休眠时间 Timeout int `yaml:"timeout" json:"timeout"` // 超时时间 Email string `yaml:"email" json:"email"` // 发送者的邮箱 Username string `yaml:"username" json:"username"` // 发送者的名字 Password string `yaml:"password" json:"password"` // 发送者的邮箱的校验密码(不一定是登陆密码) Host string `yaml:"smtp_host" json:"smtp_host"` // 邮箱服务器的主机地址(域名) Port int `yaml:"smtp_port" json:"smtp_port"` // 端口 IsSSL bool `yaml:"is_ssl" json:"is_ssl"` // 是否为SSL模式 }
Config 配置类
type Email ¶
type Email struct { Fs *embed.FS // 嵌入的文件系统 Config *Config // 配置对象 Result *EmailResult // 邮件发送结果 Lock sync.Mutex // 同步锁 }
func NewWithConfig ¶ added in v1.0.1
NewWithConfig 根据配置文件,创建邮件对象
func (*Email) GetMessage ¶ added in v1.1.0
func (e *Email) GetMessage(req EmailRequest) (*gomail.Message, error)
GetMessage 获取HTML类型的消息对象 @param req 邮件请求对象
func (*Email) GetSender ¶ added in v1.0.6
func (e *Email) GetSender() (gomail.SendCloser, error)
GetSender 获取发送对象
func (*Email) Send ¶
func (e *Email) Send(req EmailRequest) (EmailResult, error)
Send 发送邮件 @param req 请求对象 @return 发送结果,错误信息
func (*Email) SendEmailWithMessage ¶ added in v1.1.0
SendEmailWithMessage 使用消息对象发送邮件 @param message 消息对象
func (*Email) SendGoMail ¶ added in v1.1.0
func (e *Email) SendGoMail(req EmailRequest) error
SendGoMail 使用发送邮件 @param req 发送邮件请求对象 @return 错误信息
func (*Email) SendMany ¶ added in v1.1.0
func (e *Email) SendMany(reqList []EmailRequest) ([]EmailResult, error)
SendMany 批量发送HTML文本文件 @param reqList 邮件发送请求对象列表 @return 发送结果列表,错误信息
func (*Email) SendWithTag ¶ added in v1.1.0
func (e *Email) SendWithTag(tagKey, tagValue string, req EmailRequest) error
SendWithTag 通过标签发送邮件
type EmailRequest ¶ added in v1.1.0
type EmailRequest struct { Title string `json:"title"` Body string `json:"body"` Type string `json:"type"` // 类型:text,html IsFs bool `json:"is_fs"` // 是否为嵌入文件系统 Fs *embed.FS // 嵌入文件系统对象 IsFiles bool `json:"is_readers"` // 是否为自定义的文件输入流 Files map[string]*os.File Attachments []string `json:"attachments"` ToEmails []string `json:"to_emails"` // 收件人 CcEmails []string `json:"cc_emails"` // 抄送人 BccEmails []string `json:"bcc_emails"` // 密送人 }
EmailRequest 邮件请求信息
type EmailResult ¶ added in v1.0.6
type EmailResult struct { Key string `json:"key"` // 唯一key Title string `json:"title"` // 标题 Body string `json:"body"` // 邮件内容 Type string `json:"type" ` // 邮件类型:html、text文本 From string `json:"from"` // 发件人 ToEmails []string `json:"to_emails"` // 收件人 CcEmails []string `json:"cc_emails"` // 抄送人邮箱地址列表 BccEmails []string `json:"bcc_emails"` // 密送人邮箱地址列表 Attachments []string `json:"attachments"` // 附件列表 StartTime int `json:"start_time"` // 发送邮件的开始时间 EndTime int `json:"end_time"` // 发送邮件的结束时间 SendStatus bool `json:"send_status"` // 发送状态,成功还是失败 ReceiveStatus bool `json:"receive_status"` // 接收状态,成功还是失败 }
EmailResult 邮件结果
Click to show internal directories.
Click to hide internal directories.