闲着没事,玩玩发邮件
直接贴代码吧
package main
import (
"fmt"
"gopkg.in/gomail.v2"
"log"
)
//稍微封装一下需要用的参数
type EmailParam struct {
MailFrom string
MailPassword string
MailTo []string
MailHost string
MailPort int
MailSubject string
MailContent string
}
func main(){
email := EmailParam{
MailFrom:"xxxxxxx@qq.com", //发件人
MailPassword:"stiifwetcmngbaic", //密码(qq为授权码)
MailTo:[]string{"yyyyyy@qq.com"}, //收件人,可有多个
MailHost:"smtp.qq.com", //邮件服务器
MailPort:587, //邮件服务器端口
}
email.MailSubject ="Hello" //邮件主题
email.MailContent ="Hello,This is a test" //邮件内容
err := SendMail(email)
if err != nil {
log.Fatal(err.Error())
}
fmt.Println("send successfully")
}
func SendMail(emailParam EmailParam) error{
m := gomail.NewMessage()
m.SetHeader("From",emailParam.MailFrom)
m.SetHeader("To", emailParam.MailTo...)
m.SetHeader("Subject", emailParam.MailSubject)
m.SetBody("text/html", emailParam.MailContent)
//m.SetHeader("Cc", toers...) //抄送
d := gomail.NewDialer(emailParam.MailHost, emailParam.MailPort, emailParam.MailFrom, emailParam.MailPassword)
err := d.DialAndSend(m)
if err != nil{
return err
}
return nil
}