golang如何实现发送邮件

golang如何实现发送邮件

小编给大家分享一下golang如何实现发送邮件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

前期准备

golang发送邮件的功能,我们今天介绍golang发送qq邮件,相信大家都有qq邮箱吧,操作起来比较便捷,使用golang发送邮件更是简单,相信大家看完都能上手操作并学会。

通过编码的方式发送邮件,即实际是调用qq邮箱提供的接口来进行邮件的发送,我们在编写该功能前,需要拿到qq邮箱的POP3/SMTP服务的授权码

golang如何实现发送邮件

  • 进入自己的qq邮箱->设置->账户->往下滑

golang如何实现发送邮件

  • 开启自己qq邮箱的POP3/SMTP服务,并拿到自己qq邮箱的授权码(支持临时生成),授权码长期有效建议保存

代码编写

package mainimport (
   "fmt"
   "gopkg.in/gomail.v2")func main() {
   m := gomail.NewMessage()

   //发送人
   m.SetHeader("From", "xxx@qq.com")
   //接收人
   m.SetHeader("To", "xxx@qq.com")
   //抄送人
   //m.SetAddressHeader("Cc", "xxx@qq.com", "xiaozhujiao")
   //主题
   m.SetHeader("Subject", "小佩奇")
   //内容
   m.SetBody("text/html", "<h2>新年快乐</h2>")
   //附件
   //m.Attach("./myIpPic.png")

   //拿到token,并进行连接,第4个参数是填授权码
   d := gomail.NewDialer("smtp.qq.com", 587, "xxx@qq.com", "xxxxxx")

   // 发送邮件
   if err := d.DialAndSend(m); err != nil {
      fmt.Printf("DialAndSend err %v:", err)
      panic(err)
   }
   fmt.Printf("send mail success\n")}

效果展示

golang如何实现发送邮件

看完了这篇文章,相信你对“golang如何实现发送邮件”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!