要在Golang中使用QQ邮箱的SMTP服务发送邮件,你需要先获取QQ邮箱的SMTP服务授权码。以下是使用QQ邮箱SMTP服务发送邮件的基本步骤:

    开启QQ邮箱SMTP服务:登录QQ邮箱,进入设置,找到账户选项卡,开启POP3/SMTP服务,并记录下生成的授权码。

    安装Go邮件发送库:可以使用gomail库,通过运行go get -v gopkg.in/gomail.v2来安装。

    编写发送邮件的代码: “`go package main

import (

   "crypto/tls"
   "fmt"
   "gopkg.in/gomail.v2"

)

func main() {

   // TODO: 替换发送邮箱地址、授权码、目的邮箱地址列表、邮件标题、邮件内容
   sendEmailAddr := "xxx@qq.com" // 发送邮箱地址
   password := "xxx"            // 授权码
   tos := []string{"xxx@qq.com"}  // 目的邮箱地址列表
   subject := "测试邮件发送"     // 邮件标题
   content := `
   <!DOCTYPE html>
   <html>
   <head>
       <meta charset="utf-8">
       <title>测试邮件</title>
   </head>
   <body>
       <div>
           Just for testing.
       </div>
   </body>
   </html>
   `
   conf := SMTPConfig{
       Host:               "smtp.qq.com",
       Port:               465,
       User:               sendEmailAddr,
       Password:           password,
       From:               sendEmailAddr,
       InsecureSkipVerify: true, // 如果是使用SSL,需要跳过证书验证
   }
   d := gomail.NewDialer(conf.Host, conf.Port, conf.User, conf.Password)
   if conf.InsecureSkipVerify {
       d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
   }
   m := gomail.NewMessage()
   m.SetHeader("From", conf.From)
   m.SetHeader("To", tos...)
   m.SetHeader("Subject", subject)
   m.SetBody("text/html", content)
   err := d.DialAndSend(m)
   if err != nil {
       fmt.Printf("Send email failed: %v.", err)
       return
   }
   fmt.Printf("Send email succeed.")

}

type SMTPConfig struct {

   Host               string
   Port               int
   User               string
   Password           string
   From               string
   InsecureSkipVerify bool

} “ 注意:代码中的xxx@qq.comxxx`需要替换成你的QQ邮箱地址和授权码。

  1. 发送邮件:运行你的Go程序,如果配置正确,它将通过QQ邮箱的SMTP服务发送邮件。

以上步骤是基于搜索结果中提供的信息。如果你需要更详细的代码示例或者有其他问题,请告知。