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

lu569368 · · 2476 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

### 介绍 ** 文章转自go语言中文文档 [http://www.topgoer.com](http://www.topgoer.com/?from=studygolang "文章转自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连接发送多封电子邮件 **无附件邮箱发送** ```go 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") } ```

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2476 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传