demo代码如下:
package main
import (
"flag"
"fmt"
"gopkg.in/gomail.v2"
)
var (
name = "" // 用户名
address = "" // 发送的邮箱
auth = "" // 密码(邮箱设置里面的授权码)
subject = "" // 主题
server = "" // 邮件服务器地址
serverPort = 666 // 邮件服务器端口
defaultVerificationCodeTTL = 300 // 默认超时时间
codeContent = "" // 发送的内容,这里是html内容,也可以是string
)
var (
toEmail string
code string
)
func init() {
flag.StringVar(&toEmail, "toEmail", "", "to email address")
flag.StringVar(&code, "code", "", "email code")
}
func main() {
flag.Parse()
if toEmail == "" {
fmt.Println("toEmail is empty")
return
}
if code == "" {
fmt.Println("code is empty")
return
}
publicEmailAddress := fmt.Sprintf("%s <%s>", name, address)
content := fmt.Sprintf(codeContent, toEmail, code)
m := gomail.NewMessage()
m.SetHeader("From", publicEmailAddress)
m.SetHeader("To", toEmail)
m.SetHeader("Subject", subject)
m.SetBody("text/html", content)
d := gomail.NewDialer(server, serverPort, address, auth)
err := d.DialAndSend(m)
if err != nil {
fmt.Printf("DialAndSend err=[%v]", err)
return
}
}