为了账号安全,请及时绑定邮箱和手机立即绑定

golang 使用 gomail 发送邮件

标签:
Go


下面以阿里云邮箱为例, 如果使用的是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

©著作权归作者所有:来自51CTO博客作者woahjknes的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消