golang实现6位数验证码发送

您所在的位置:网站首页 golang验证码 golang实现6位数验证码发送

golang实现6位数验证码发送

#golang实现6位数验证码发送| 来源: 网络整理| 查看: 265

有时我们需要给用户发送验证码,但是手机短信验证会有成本,所以今天我在这里分享一下邮箱发送验证码的方法

依赖包 go get gopkg.in/gomail.v2 详细代码

下面的代码附有详细注释

package main import ( "fmt" "log" "math/rand" "time" "gopkg.in/gomail.v2" ) // MailboxConf 邮箱配置 type MailboxConf struct { // 邮件标题 Title string // 邮件内容 Body string // 收件人列表 RecipientList []string // 发件人账号 Sender string // 发件人密码,QQ邮箱这里配置授权码 SPassword string // SMTP 服务器地址, QQ邮箱是smtp.qq.com SMTPAddr string // SMTP端口 QQ邮箱是25 SMTPPort int } func main() { var mailConf MailboxConf mailConf.Title = "验证" //这里就是我们发送的邮箱内容,但是也可以通过下面的html代码作为邮件内容 // mailConf.Body = "坚持才是胜利,奥里给" //这里支持群发,只需填写多个人的邮箱即可,我这里发送人使用的是QQ邮箱,所以接收人也必须都要是 //QQ邮箱 mailConf.RecipientList = []string{"邮箱账号1","邮箱账号2"} mailConf.Sender = `邮箱账号` //这里QQ邮箱要填写授权码,网易邮箱则直接填写自己的邮箱密码,授权码获得方法在下面 mailConf.SPassword = "这里填写自己QQ邮箱授权码" //下面是官方邮箱提供的SMTP服务地址和端口 // QQ邮箱:SMTP服务器地址:smtp.qq.com(端口:587) // 雅虎邮箱: SMTP服务器地址:smtp.yahoo.com(端口:587) // 163邮箱:SMTP服务器地址:smtp.163.com(端口:25) // 126邮箱: SMTP服务器地址:smtp.126.com(端口:25) // 新浪邮箱: SMTP服务器地址:smtp.sina.com(端口:25) mailConf.SMTPAddr = `smtp.qq.com` mailConf.SMTPPort = 25 //产生六位数验证码 rnd := rand.New(rand.NewSource(time.Now().UnixNano())) vcode := fmt.Sprintf("%06v", rnd.Int31n(1000000)) //发送的内容 html := fmt.Sprintf(` 尊敬的用户,您好!

你本次的验证码为%s,为了保证账号安全,验证码有效期为5分钟。请确认为本人操作,切勿向他人泄露,感谢您的理解与使用。

此邮箱为系统邮箱,请勿回复。

`, vcode) m := gomail.NewMessage() // 第三个参数是我们发送者的名称,但是如果对方有发送者的好友,优先显示对方好友备注名 m.SetHeader(`From`, mailConf.Sender, "小铃铛官方") m.SetHeader(`To`, mailConf.RecipientList...) m.SetHeader(`Subject`, mailConf.Title) m.SetBody(`text/html`, html) // m.Attach("./Dockerfile") //添加附件 err := gomail.NewDialer(mailConf.SMTPAddr, mailConf.SMTPPort, mailConf.Sender, mailConf.SPassword).DialAndSend(m) if err != nil { log.Fatalf("Send Email Fail, %s", err.Error()) return } log.Printf("Send Email Success") } QQ邮箱获取授权码的方法

打开我们的邮箱,左上角点击设置然后点击账户

1.png

在下面找到SMTP并开启,在这里我已经开启过了,开启后他会给你一个授权码,如果授权码忘了,可以关闭再打开他会给你一个 新的授权码

2.png



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3