Golang发送邮件库email

编程入门 行业动态 更新时间:2024-10-26 06:35:14

Golang<a href=https://www.elefans.com/category/jswz/34/1770428.html style=发送邮件库email"/>

Golang发送邮件库email

Golang发送邮件库email

  • golang本身有一个SMTP协议,但是这个协议配置起来比较的复杂,所以我们使用一下第三方库来实现。

人性化的golang电子邮件库

  • email 包装设计的易于使用,足够的灵活。不会受到限制。是一个非常人性化的golang邮件库

  • email库现在支持以下内容

    • 发件人,收件人,密件抄送和抄送字段
    • “test@example”和“test@example”格式的电子邮件地址
    • 文本和HTML消息正文
    • 附件
    • 阅读回执

安装使用

go get github/jordan-wright/email
  • ⚠️:email这个库的版本 >1需要Go1.5或更高的版本
  • ⚠️:如果您需要与以前的Go版本进行兼容,可以使用gopkg.in/jordan-wright/email.v1中的以前的包

案例

使用QQ发送电子邮件

package mainimport ("github/jordan-wright/email""net/smtp"
)func main() {//实例化返回一个结构体e := email.NewEmail()//From:谁发来的e.From = "Crisp <1633749634@qq>"//To:发给谁的e.To = []string{"397666001@qq"}//抄送,这个地方抄送的意思是,这个邮件在发送后还可以抄送给谁e.Bcc = []string{"1633479634@qq"}e.Cc = []string{"1633749634@qq"}//主题,标题e.Subject = "测试golang email库"//普通文本内容,支持htmle.Text = []byte("小朋友!!!")e.HTML = []byte("<h1>html 小朋友!!!</h1>")//send方法:smtp.qq:587:QQ email相关的域名端口号 smtp.PlainAuth:第一个参数为空,第二个参数为自己的邮箱,第三个参数为授权码,下面有讲如何获取授权码err := e.Send("smtp.qq:587", smtp.PlainAuth("", "398848401@qq", "授权码", "smtp.qq"))if err != nil {return}
}
  • 如何获取验证密码

创建结构直接创建电子邮件

package mainimport ("github/jordan-wright/email""net/smtp""net/textproto"
)func main() {e := &email.Email{To:      []string{"397638366@qq"},From:    "Crisp <1633773664@qq>",Subject: "测试golang email库",Text:    []byte("小朋友!!!"),HTML:    []byte("<h1>html 小朋友!!!</h1>"),Headers: textproto.MIMEHeader{},}//send方法:smtp.qq:587:QQ email相关的域名端口号 smtp.PlainAuth:授权 第三个参数授权码需要注意,上面有讲如何获取授权码err := e.Send("smtp.qq:587", smtp.PlainAuth("", "2283660938@qq", "授权码", "smtp.qq"))if err != nil {return}
}

Io.Reader创建电子邮件

o.Reader 实现这个接口的任意类型创建电子邮件 email.NewEmailFromReader

附加文件

e := NewEmail()
e.AttachFile("test.txt")

使用连接池来发送大量邮件

(var ch <-chan *email.Email)
p := email.NewPool("smtp.gmail:587",4,smtp.PlainAuth("", "2286680948@qq", "ryqnogv3456dmaceiha", "smtp.qq"),
)
for i := 0; i < 4; i++ {go func() {for e := range ch {err := p.Send(e, 10*time.Second)if err != nil {return }}}()
}

更多推荐

Golang发送邮件库email

本文发布于:2024-03-10 04:11:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1726977.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:发送邮件   Golang   email

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!