企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 介绍 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") } ```