Gomail是用于发送电子邮件的简单高效的软件包。它已经过充分测试和记录。

介绍

** 文章转自go语言中文文档 http://www.topgoer.com **

Gomail是用于发送电子邮件的简单高效的软件包。它已经过充分测试和记录。

Gomail只能使用SMTP服务器发送电子邮件。但是该API灵活,可以很容易地实现其他使用本地Postfix,API等发送电子邮件的方法。

它使用gopkg.in进行了版本控制,因此我保证每个版本都不会存在向后不兼容的更改。

它需要Go 1.2或更高版本。对于Go 1.5,不使用任何外部依赖项。

插件地址:https://github.com/go-gomail/gomail/tree/v2

特征

Gomail支持:

  • 附件
  • 嵌入式图片
  • HTML和文本模板
  • 自动编码特殊字符
  • SSL和TLS
  • 使用相同的SMTP连接发送多封电子邮件

无附件邮箱发送

package main

import (
	"fmt"
	"log"
	"strconv"

	"gopkg.in/gomail.v2"
)

func SendMail(mailTo []string, subject string, body string) error {
	mailConn := map[string]string{
		"user": "914145759@qq.com",
		"pass": "dqalbdjiamskbehg",
		//大家一定要注意,这里的密码不是你的邮箱的密码
		//是你的邮箱申请给你的一个 --授权码---
		"host": "smtp.qq.com",
		"port": "25",
	}

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

	m := gomail.NewMessage()

	m.SetHeader("From", m.FormatAddress(mailConn["user"], "go的慢慢学习路”")) //设置邮件发送人别名容易发送入垃圾箱
	// 这种方式可以添加别名,即“go的慢慢学习路”
	// 说明:如果是用网易邮箱账号发送,以下方法别名可以是中文,如果是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{
		"2990446079@qq.com", //设置多个邮箱可以群发
	}
	subject := "这是邮件的主题"
	body := "<h1>这是邮件正文</h1>"
	err := SendMail(mailTo, subject, body)
	if err != nil {
		log.Println(err)
		fmt.Println("send fail")
		return
	}

	fmt.Println("send successfully")

}
我来评几句
登录后评论

已发表评论数()

相关站点

热门文章