Go-发送邮件

1. 邮件 - mail

  • From -- 发送者(这封邮件由谁进行发送的,一般都是该邮件的作者)
  • To -- 邮件的接收者(发送邮件的人希望谁能收到邮件)
  • Subject -- 邮件的主题(类似文章的标题,对邮件内容进行总结性概括)
  • Body -- 邮件内容(该邮件作者书写的内容,又称为邮件正文)

2. 适用场景

由某个条件触发自动化群发邮件(一封邮件,携带数据发送给一个或多个人)

3. 技术选型 -- Go语言技术栈

  • 邮件库 -- gopkg.in/mail.v2

4. Demo

package main

import (
   "crypto/tls"
   gomail "gopkg.in/mail.v2"
   "log"
)

func main() {
   m := gomail.NewMessage()                 // 声明一封邮件对象
   m.SetHeader("From", "")                  // 发件人
   m.SetHeader("To", "")                    // 收件人
   m.SetHeader("Subject", "")               // 邮件主题
   m.SetBody("text/plain", "测试邮件邮件content") // 邮件内容

   // host 是提供邮件的服务器,port是服务器端口,username 是发送邮件的账号, password是发送邮件的密码
   d := gomail.NewDialer("smtp.qq.com", 465, "From", "Password")
   d.TLSConfig = &tls.Config{InsecureSkipVerify: true} // 配置tls,跳过验证

   // 发送邮件
   if err := d.DialAndSend(m); err != nil {
      log.Fatalln("msg", "try send a mail failed", "err", err)
   }
}
原文地址:https://www.cnblogs.com/2bjiujiu/p/15182790.html