Gin框架实现163邮箱发送验证码
前提:去所需要的邮箱官网设置里打开授权,会有一个授权码,拿到授权码放到指定的参数里,点击开启会显示授权码
安装Go语言的邮件发送库:go get gopkg.in/gomail.v2
再把下面代码的配置改成自己的就可以了
package test
import (
"fmt"
"gopkg.in/gomail.v2"
"math/rand"
"testing"
"time"
)
func TestSendEmail(t *testing.T) {
// 生成随机数
rand.Seed(time.Now().UnixNano())
code := fmt.Sprintf("%06d", rand.Intn(1000000))
// SMTP服务器信息
host := "smtp.163.com" // 使用163邮箱发送
port := 465
username := "yourEmail@163.com" // 你自己的网易邮箱
to := "objEmail@qq.com" // 接收验证码的邮箱
password := "ABCDEFGHIZJLMN" // 网易邮箱授权码
subject := "邮箱验证码"
body := "您的验证码是:" + code + ",请在5分钟内使用。"
m := gomail.NewMessage()
m.SetHeader("From", username)
m.SetHeader("To", to)
m.SetHeader("Subject", subject)
m.SetBody("text/plain", body)
d := gomail.NewDialer(host, port, username, password)
// 发送邮件
err := d.DialAndSend(m)
if err != nil {
t.Fatal(err)
}
}