温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

golang 使用 gomail 发送邮件

发布时间:2020-05-26 17:03:33 来源:网络 阅读:1429 作者:woahjknes 栏目:编程语言

下面以阿里云邮箱为例, 如果使用的是qq邮箱的话需要把mailConn里面的host改成'smpt.qq.com',user 填写qq邮箱地址, pass需要填写你在qq邮箱设置里面获取到的授权码,qq邮箱需要先去邮箱设置里面开通smtp支持,然后获取授权码。然后就可以用qq邮箱发送了。

安装gomail

go get gopkg.in/gomail.v2

package main

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

func SendMail(mailTo []string,subject string, body string ) error {
  //定义邮箱服务器连接信息,如果是阿里邮箱 pass填密码,qq邮箱填授权码
    mailConn := map[string]string {
        "user": "zhangqiang@xxxx.com", 
        "pass": "xxxx",  
        "host": "smtp.mxhichina.com",
        "port": "465",
    }

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

    m := gomail.NewMessage()
    m.SetHeader("From","XD Game" + "<" + mailConn["user"] + ">")  //这种方式可以添加别名,即“XD Game”, 也可以直接用<code>m.SetHeader("From",mailConn["user"])</code> 读者可以自行实验下效果
    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 {
    "zhangqiang@xxx.com",
    "abc@qq.com",
   "sssdd@qq.com",
    }
   //邮件主题为"Hello"
    subject := "Hello"
   // 邮件正文
    body := "Good"
    SendMail(mailTo, subject, body)
}

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI