0
点赞
收藏
分享

微信扫一扫

Go 发送QQ邮件

修炼之士 2022-02-26 阅读 70

文章目录

前言

个人笔记,欢迎指正
go使用代码发送邮件到QQ邮箱或腾讯企业邮箱
需要引用包

go get gopkg.in/gomail.v2

发送到腾讯企业邮箱

package main

import (
	"gopkg.in/gomail.v2"
	"log"
)

func main() {
	sender := "luoqiang@qiye.com" //发送者腾讯企业邮箱账号
	password := "pwd123456"       //发送者腾讯企业邮箱密码
	mailTitle := "邮件标题"           //邮件标题
	mailBody := "邮件内容"            //邮件内容,可以是html

	//接收者邮箱列表
	mailTo := []string{
		"zhangsan@qiye.com",
		"lisi@qiye.com",
		"wangwu@qiye.cn",
	}

	m := gomail.NewMessage()
	m.SetHeader("From", sender)       //发送者腾讯企业邮箱账号
	m.SetHeader("To", mailTo...)      //接收者邮箱列表
	m.SetHeader("Subject", mailTitle) //邮件标题
	m.SetBody("text/html", mailBody)  //邮件内容,可以是html

	//添加附件
	zipPath := "./user/temp.zip"
	m.Attach(zipPath)

	//发送邮件服务器、端口、发件人账号、发件人密码
	//服务器地址和端口是腾讯的
	d := gomail.NewDialer("smtp.exmail.qq.com", 465, sender, password)
	if err := d.DialAndSend(m); err != nil {
		log.Println("send mail failed", err)
		return
	}

	log.Println("success")
}

发送到QQ邮箱

前期准备

  • 需要拿到qq邮箱的POP3/SMTP服务的授权码

  • 进入qq邮箱进行设置【设置 -> 账户】
    在这里插入图片描述

  • 拿授权码
    在这里插入图片描述

  • 发送短信
    在这里插入图片描述

代码

package main

import (
	"gopkg.in/gomail.v2"
	"log"
)

func main() {
	sender := "123456789@qq.com" //发送者qq邮箱
	authCode := "auth_code"      //qq邮箱授权码
	mailTitle := "邮件标题"          //邮件标题
	mailBody := "邮件内容"           //邮件内容,可以是html

	//接收者邮箱列表
	mailTo := []string{
		"11111111@qq.com",
		"22222222@qq.com",
		"33333333@qq.com",
	}

	m := gomail.NewMessage()
	m.SetHeader("From", sender)       //发送者腾讯企业邮箱账号
	m.SetHeader("To", mailTo...)      //接收者邮箱列表
	m.SetHeader("Subject", mailTitle) //邮件标题
	m.SetBody("text/html", mailBody)  //邮件内容,可以是html

	//添加附件
	zipPath := "./user/temp.zip"
	m.Attach(zipPath)

	//发送邮件服务器、端口、发送者qq邮箱、qq邮箱授权码
	//服务器地址和端口是腾讯的
	d := gomail.NewDialer("smtp.qq.com", 587, sender, authCode)
	if err := d.DialAndSend(m); err != nil {
		log.Println("send mail failed", err)
		return
	}

	log.Println("success")
}
举报

相关推荐

0 条评论