我正在使用" google.golang.org/api/gmail/v1"在Go中发送带有HTML内容的多个邮件。我正在使用for循环发送包含不同内容的多封邮件,但所有类型都是" html"。
就API而言,它的工作正常,所有邮件都已送达。但是只有第一封邮件以正确的格式发送,即以HTML格式发送(即邮件的接收者以HTML格式获取邮件),其余的用户正在获取包含所有内容为TEXT的邮件(因此所有HTML标签在邮件正文中可见)/
我需要处理哪些限制或条件才能使其成功?
请指出我正在做的错误。
代码段是:
activate
}
答案 0 :(得分:0)
我无法保证,但似乎您可能会遇到电子邮件字段订单的问题,因为map
订单每次都是随机的。尝试用以下内容替换基于map
的内容:
header := [][]string{
{"To", recipientsList[indx].To_Mail},
{"From", recipientsList[indx].From_Mail},
{"MIME-Version", "1.0"},
{"Content-Type", "text/html; charset=utf-8"},
{"Content-Transfer-Encoding", "base64"},
{"Subject", recipientsList[indx].Title + "\r\n\r\n" + recipientsList[indx].Body + "\r\n\r\n" + recipientsList[indx].Signature + "\r\n\r\n" + recipientsList[indx].Pixel},
}
var msg string
for _, v := range header {
msg += fmt.Sprintf("%s: %s\r\n", v[0], v[1])
}