mail

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2021 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Send

func Send(s Sender, msg ...*Message) error

Send sends emails using the given Sender.

Types

type Attachment

type Attachment struct {
	Name      string //名称必须设置为有效的文件名.
	Data      []byte
	ContentId string
}

Attachment 代表电子邮件附件.

type Dialer

type Dialer struct {
	Host      string      // 主机代表SMTP服务器的主机.
	Port      int         // 端口代表SMTP服务器的端口.
	Username  string      // 用户名是用于验证SMTP服务器的用户名.
	Password  string      // 密码是用于验证SMTP服务器的密码.
	Auth      smtp.Auth   // Auth表示用于对SMTP服务器进行身份验证的身份验证机制。
	SSL       bool        // SSL定义是否使用SSL连接.在大多数情况下,它应该为false,因为身份验证机制应改为使用STARTTLS扩展名.
	TLSConfig *tls.Config // TSLConfig表示用于TLS(使用STARTTLS扩展名时)或SSL连接的TLS配置.
	LocalName string      // LocalName是使用HELO命令发送到SMTP服务器的主机名.默认情况下,发送"localhost".
}

Dialer 是SMTP服务器的拨号程序

func NewDialer

func NewDialer(host string, port int, username, password string) *Dialer

NewDialer 返回一个新的SMTP拨号程序.给定的参数用于连接到SMTP服务器.

func (*Dialer) Dial

func (d *Dialer) Dial() (SendCloser, error)

Dial 拨号并验证到SMTP服务器.使用完后应关闭返回的SendCloser.

func (*Dialer) DialAndSend

func (d *Dialer) DialAndSend(m ...*Message) error

DialAndSend 打开到SMTP服务器的连接,发送给定的电子邮件并关闭连接.

type DirectMail

type DirectMail interface {
	Send(c context.Context, msg *Message) error
}

type Encoding

type Encoding string // 表示MIME编码方案,例如quoted-printable或base64.
const (
	QuotedPrintable Encoding = "quoted-printable" // 表示RFC 2045中定义的带引号可打印的编码.
	Base64          Encoding = "base64"           // Base64 表示RFC 2045中定义的base64编码.
	Unencoded       Encoding = "8bit"             // 可用于避免对电子邮件的正文进行编码.标头仍将使用带引号的可打印编码进行编码.
)

type FileSetting

type FileSetting func(*file)

FileSetting 可用作Message.Attach或Message.Embed中的参数.

func Rename

func Rename(name string) FileSetting

Rename 是一个文件设置,用于设置附件名称(如果名称与磁盘上的文件名不同).

func SetCopyFunc

func SetCopyFunc(f func(io.Writer) error) FileSetting

SetCopyFunc 是一个文件设置,用于替换发送消息时运行的功能.它应该将文件的内容复制到io.Writer. 默认的复制功能使用给定的文件名打开文件,然后将其内容复制到io.Writer.

func SetHeader

func SetHeader(h map[string][]string) FileSetting

SetHeader 是一个文件设置,用于设置包含文件内容的消息部分的MIME标头. 如果在发送电子邮件时未设置强制性标题,则会自动添加.

type Message

type Message struct {
	// contains filtered or unexported fields
}

Message 代表电子邮件.

func NewMessage

func NewMessage(settings ...MessageSetting) *Message

NewMessage 创建一条新消息.默认情况下,它使用UTF-8和带引号的可打印编码.

func (*Message) AddAlternative

func (m *Message) AddAlternative(contentType, body string, settings ...PartSetting)

AddAlternative 在消息中添加一个替代部分,通常用于发送默认为纯文本版本的HTML电子邮件,以实现向后兼容. AddAlternative将新部分追加到消息的末尾.因此,应在HTML部分之前添加纯文本部分. 请看http://en.wikipedia.org/wiki/MIME#Alternative

func (*Message) AddAlternativeWriter

func (m *Message) AddAlternativeWriter(contentType string, f func(io.Writer) error, settings ...PartSetting)

AddAlternativeWriter 在消息中添加替代部分.对text/template或html/template包很有用.

func (*Message) Attach

func (m *Message) Attach(filename string, settings ...FileSetting)

Attach 将文件附加到电子邮件.

func (*Message) Embed

func (m *Message) Embed(filename string, settings ...FileSetting)

Embed 将图像嵌入到电子邮件中.

func (*Message) FormatAddress

func (m *Message) FormatAddress(address, name string) string

FormatAddress 将地址和名称格式化为有效的RFC 5322地址.

func (*Message) FormatDate

func (m *Message) FormatDate(date time.Time) string

FormatDate 将日期格式化为有效的RFC 5322日期.

func (*Message) GetHeader

func (m *Message) GetHeader(field string) []string

GetHeader 获取标题字段.

func (*Message) Reset

func (m *Message) Reset()

Reset 重置消息,以便可以重复使用.该消息保留其先前的设置,因此与调用NewMessage之后的状态相同.

func (*Message) SetAddressHeader

func (m *Message) SetAddressHeader(field, address, name string)

SetAddressHeader 将地址设置为给定的标题字段.

func (*Message) SetBody

func (m *Message) SetBody(contentType, body string, settings ...PartSetting)

SetBody 设置消息的正文.它将替换以前由SetBody,AddAlternative或AddAlternativeWriter设置的任何内容.

func (*Message) SetDateHeader

func (m *Message) SetDateHeader(field string, date time.Time)

SetDateHeader 将日期设置为给定的标题字段.

func (*Message) SetHeader

func (m *Message) SetHeader(field string, value ...string)

SetHeader 为给定的标题字段设置一个值.

func (*Message) SetHeaders

func (m *Message) SetHeaders(h map[string][]string)

SetHeaders 设置消息头.

func (*Message) WriteTo

func (m *Message) WriteTo(w io.Writer) (int64, error)

WriteTo 实现io.WriterTo。它将整个消息转储到w中

type Message1

type Message1 struct {
	Sender      string   // 必须设置发件人,并且必须是应用程序管理员或当前登录的用户.
	ReplyTo     string   //可能是空的
	To, Cc, Bcc []string // 这些片中的至少一个片必须具有非零长度.
	Subject     string

	Body        string // Body或HTMLBody至少必须为非空
	HTMLBody    string
	Attachments []Attachment
	Headers     mail.Header // 额外的邮件标题.
	// contains filtered or unexported fields
}

Message1 代表电子邮件 地址可以采用RFC 822允许的任何形式

type MessageSetting

type MessageSetting func(m *Message)

MessageSetting 可以用作NewMessage中的参数来配置电子邮件.

func SetCharset

func SetCharset(charset string) MessageSetting

SetCharset 是一个消息设置,用于设置电子邮件的字符集.

func SetEncoding

func SetEncoding(enc Encoding) MessageSetting

SetEncoding 是用于设置电子邮件编码的消息设置.

type PartSetting

type PartSetting func(*part)

PartSetting 用作Message.SetBody,Message.AddAlternative或Message.AddAlternativeWriter中的参数,以配置添加到消息中的零件.

func SetPartEncoding

func SetPartEncoding(e Encoding) PartSetting

SetPartEncoding 添加到消息中的部分的编码。默认情况下,部件使用与消息相同的编码.

type SendCloser

type SendCloser interface {
	Sender
	Close() error
}

SendCloser 是将Send和Close方法分组的接口.

type SendFunc

type SendFunc func(from string, to []string, msg io.WriterTo) error

A SendFunc is a function that sends emails to the given addresses.

The SendFunc type is an adapter to allow the use of ordinary functions as email senders. If f is a function with the appropriate signature, SendFunc(f) is a Sender object that calls f.

func (SendFunc) Send

func (f SendFunc) Send(from string, to []string, msg io.WriterTo) error

Send calls f(from, to, msg).

type Sender

type Sender interface {
	Send(from string, to []string, msg io.WriterTo) error
}

Sender 是包装Send方法的接口. 发送电子邮件到给定的地址.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL