go.定时邮件发送
曹david
原创
关注
0点赞·857人阅读
package main
import (
"crypto/tls"
"flag"
"fmt"
"myGo/utils"
"github.com/go-gomail/gomail"
)
//发送
func send() {
nm := gomail.NewMessage()
nm.SetHeader("From", "xxxx@qq.com")
nm.SetHeader("To", "xxxx@qq.com")
//抄送
nm.SetAddressHeader("xxxx@qq.com", "xxxx@qq.com", "xxxx")
//主题
nm.SetHeader("Subject", "xxxx")
//正文
nm.SetBody("text/html", "xxxx")
//所有附件
nm.Attach("E:/xxxx.doc")
nm.Attach("E:/xxxx.JPG")
nm.Attach("E:/xxxx.JPG")
nm.Attach("E:/xxxx.JPG")
nm.Attach("E:/xxxx.JPG")
nm.Attach("E:/xxxx .JPG")
nm.Attach("E:/xxxx.JPG")
//ikfrnpwowsqgbibf:pop3密钥,374290910@qq.com为发件人
nd := gomail.NewDialer("smtp.qq.com", 587, "374290910@qq.com", "ikfrnpwowsqgbibf")
nd.TLSConfig = &tls.Config{InsecureSkipVerify: true}
if err := nd.DialAndSend(nm); err != nil {
fmt.Println("************发送邮件出错:*************", err)
} else {
fmt.Println("******************发送附件邮件成功*****************")
fmt.Println("***************邮件服务器:smtp.qq.com******************")
fmt.Println("************邮件发件人:************")
fmt.Println("************邮件收件人:************")
fmt.Println("************邮件主题:************")
fmt.Println("************邮件内容:************")
fmt.Println("邮件附件:")
}
}
func main() {
var stime string
//这里是我的需求为定时发送
flag.StringVar(&stime, "stime", "30 30 11 25 2021 2", "定时时间表达式 * * * * * ?")
flag.Parse()
fmt.Println("开始发送邮件时间:", stime)
utils.NewCrond(stime, send)
}