package isapi import ( "fmt" mail "github.com/xhit/go-simple-mail/v2" "log" ) func SendAlarmEmail(cameraMac string, msg string, file *mail.File) { var html = ` 报警通知
%s
不再接收龙弛防溺水报警邮箱通知!
` //查出所有相关email //var emails []UserEmails // //for _, v := range emails { // body := fmt.Sprintf(html, msg, v.Uid, v.Email) // EmailPicture(v.Email, // "防溺水通知", // body, // file) //} body := fmt.Sprintf(html, msg, 1, "1104038181@qq.com") EmailPicture("1104038181@qq.com", "防溺水通知", body, file) } type UserEmails struct { Uid uint `json:"uid"` Email string `json:"email"` } var emailClient = func() *mail.SMTPServer { // 创建邮件客户端 client := mail.NewSMTPClient() // 设置SMTP服务器和认证信息 client.Host = "smtp.163.com" // 替换为你的SMTP服务器地址 client.Port = 25 // 替换为SMTP服务器端口 client.Username = "17673481176@163.com" // 替换为SMTP服务器的用户名 client.Password = "kk992471" // 替换为SMTP服务器的密码 return client }() func EmailPicture(To, subject, data string, pic *mail.File) { // 创建邮件客户端 smtpClient, err := emailClient.Connect() if err != nil { return } // 创建邮件对象 email := mail.NewMSG() // 设置发件人 email.SetFrom("17673481176@163.com") // 设置收件人 email.AddTo(To) // 设置主题 email.SetSubject(subject) // 设置html文本内容 email.SetBody(mail.TextHTML, data) // 添加图片附件 if pic != nil { email.Attach(pic) } // 发送邮件 err = email.Send(smtpClient) if err != nil { log.Println("116 Failed to send email:", err) return } log.Println("Email sent successfully") }