??斗地主捕鱼电竞提现秒到 广告位招租 - 15元/月全站展示
??支付宝搜索579087183领大额红包 ??伍彩集团官网直营彩票
??好待遇→招代理 ??伍彩集团官网直营彩票
??络茄网 广告位招租 - 15元/月全站展示
golang 使用 gomail 发送邮件

转载   woahjknes   2018-11-06   浏览量:16


下面以阿里云邮箱为例, 如果使用的是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": "[email protected]", 
        "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 {
    "[email protected]",
    "[email protected]",
   "[email protected]",
    }
   //邮件主题为"Hello"
    subject := "Hello"
   // 邮件正文
    body := "Good"
    SendMail(mailTo, subject, body)
}

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

转载自://blog.51cto.com/superzhangqiang/2313517

招聘 不方便扫码就复制添加关注:程序员招聘谷,微信号:jobs1024



使用Go来模拟Java中的接口 实现类
针对项目中,相同的流程业务进行重构,使用Go来简单模拟Java中的接口,实现类的方式进行重构。分享一简单例子:packagemain//模拟java中的接口,实现类import"fmt"//声明一个接口,typeworkthreadinterface{do(namestring)}//传入的wt的子类不同,do方法执行的逻辑也不同funcHandle(wtworkthread,namestring
Go语言中时间函数及定时器的使用
Go语言中时间函数的使用,定时器的实现
Golang之wait.Until 简单测试用例
测试目的,验证wait.Until的用法//测试wait.Until()的用途packagemainimport("fmt""k8s.io/apimachinery/pkg/util/wait""time")typestopstruct{}funcmain(){stopCh:=make(chanstruct{})//初始化一个计数器i:=0gowait.Until(func(){fmt.Print
各种加密算法在Go语言中的使用
实际编程过程经?;嵊龅绞褂酶髦旨用芩惴?,本文以代码详细介绍了在Go语言中如何使用MD5、SHA256、RIPEMD160、DES、3DES、AES进行加密
golang regexp记录
FindAllSubmatch与FindSubmatch区别//匹配一个非元音字母,一个元音字母,一个非元音字母someRegex,_:=regexp.Compile(`[^aouiye]([aouiye])([^aouiye])?`)m1:=someRegex.FindAllStringSubmatch("somestri",-1)m2:=someRegex.FindStringSubmatch
k8s安装编译和golang环境搭建
k8s安装编译和golang环境搭建,kubernetes的github地址https:githubcomkuberneteskubernetes。
golang基础知识学习之双链表、别名、自定义构造函数
golang基础知识学习之双链表、别名、自定义构造函数。
golang基础知识学习之结构体tag、匿名字段
golang基础知识学习之结构体tag、匿名字段。
golang互斥锁、读写锁代码实例
golang互斥锁、读写锁代码实例?;コ馑浩渲蠱utex为互斥锁,Lock()加锁,Unlock()解锁,使用Lock()加锁后,便不能再次对其进行加锁,直到利用Unlock()解锁对其解锁后,才能再次加锁.适用于读写不确定场景,即读写次数没有明显的区别,并且只允许只有一个读或者写的场景
golang并发ssh执行远程命令实现教程
golang并发ssh执行远程命令实现教程。在kubernetesdocker容器化应用中,业务应用由大量容器组成,由于生产环境中出于安全考虑,一般不会允许用户直接登入集群机器,然后登入机器上的容器。