我想从数据库获取电子邮件数据以发送包含该数据的电子邮件。
此代码来自控制器/通知控制器.go:
func (c *notifController) SendNotifEmail(context *gin.Context) {
email_to := context.Query("sEmailByDiv")
cc_to := context.Query("cc_to")
subject := context.Query("subject")
body := context.Query("body")
notifs := c.notifService.EmailByDiv(email_to)
to := []string{notifs}
mailer := gomail.NewMessage()
mailer.SetHeader("From", CONFIG_SENDER_NAME)
mailer.SetHeader("To", to)
mailer.SetHeader("Cc", cc_to)
mailer.SetHeader("Subject", subject)
mailer.SetBody("text/html", body)
// dialer := &gomail.Dialer{Host: CONFIG_SMTP_HOST, Port: CONFIG_SMTP_PORT}
dialer := gomail.NewDialer(
CONFIG_SMTP_HOST,
CONFIG_SMTP_PORT,
CONFIG_AUTH_EMAIL,
CONFIG_AUTH_PASSWORD,
)
err := dialer.DialAndSend(mailer)
if err != nil {
log.Fatal(err.Error())
}
log.Println("Mail sent!")
}
我在 中遇到错误:
不能使用通知(类型为 [] 实体的变量。Noteif) 作为数组或切片文本中的字符串值,并且不能在 的参数中使用 to (类型为 []字符串的变量) 作为字符串值。mailer.SetHeader
我添加了一个循环,如下所示:
func (c *notifController) SendNotifEmail(context *gin.Context) {
email_to := context.Query("sEmailByDiv")
cc_to := context.Query("cc_to")
subject := context.Query("subject")
body := context.Query("body")
// file := context.Query("file")
notifs := c.notifService.EmailByDiv(email_to)
to := []string{notifs}
mailer := gomail.NewMessage()
addresses := make([]string, len(to))
for i, recipient := range to {
addresses[i] = mailer.FormatAddress(recipient, "")
}
慕容3067478
相关分类