• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

[golang]使用gomail发邮件(在Go中发送电子邮件的最佳方式)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1 前言

定义邮箱服务器连接信息,如果是网易邮箱 pass填密码,qq邮箱填授权码(客户端专用密码)。

 

gomail包:

go get gopkg.in/gomail.v2

更多功能可以参考 https://github.com/go-gomail/gomail  

2 代码

/**
 * @Author: FB
 * @Description: 
 * @File:  main.go
 * @Version: 1.0.0
 * @Date: 2019/9/7 14:01
 */
package main

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

func SendMail(mailTo []string, subject string, body string) error {
	//定义邮箱服务器连接信息,如果是网易邮箱 pass填密码,qq邮箱填授权码
	
        //mailConn := map[string]string{
    	//	"user": "[email protected]",
	//	"pass": "your password",
	//	"host": "smtp.163.com",
	//	"port": "465",
	//}

	mailConn := map[string]string{
		"user": "[email protected]",
		"pass": "r4r3St*****7a7Uk",
		"host": "smtp.exmail.qq.com",
		"port": "465",
	}

	port, _ := strconv.Atoi(mailConn["port"]) //转换端口类型为int

	m := gomail.NewMessage()

	m.SetHeader("From",  m.FormatAddress(mailConn["user"], "XX官方")) //这种方式可以添加别名,即“XX官方”
     //说明:如果是用网易邮箱账号发送,以下方法别名可以是中文,如果是qq企业邮箱,以下方法用中文别名,会报错,需要用上面此方法转码
	//m.SetHeader("From", "FB Sample"+"<"+mailConn["user"]+">") //这种方式可以添加别名,即“FB Sample”, 也可以直接用<code>m.SetHeader("From",mailConn["user"])</code> 读者可以自行实验下效果
	//m.SetHeader("From", mailConn["user"])
	m.SetHeader("To", mailTo...)    //发送给多个用户
	m.SetHeader("Subject", subject) //设置邮件主题
	m.SetBody("text/html", body)    //设置邮件正文

	d := gomail.NewDialer(mailConn["host"], port, mailConn["user"], mailConn["pass"])

	err := d.DialAndSend(m)
	return err

}
func main() {
	//定义收件人
	mailTo := []string{
		"[email protected]",
	}
	//邮件主题为"Hello"
	subject := "Hello by golang gomail from exmail.qq.com"
	// 邮件正文
	body := "Hello,by gomail sent"

	err := SendMail(mailTo, subject, body)
	if err != nil {
		log.Println(err)
		fmt.Println("send fail")
		return
	}

	fmt.Println("send successfully")

}
    

3 参考

1.golang 使用 gomail 发送邮件

2.使用gomail发送邮件之解决附件名乱码的问题

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go语言练习发布时间:2022-07-10
下一篇:
go随聊-负载均衡[加权轮询]发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap