我试图发送一个HTML邮件使用Gmail的API,但由于某些原因,它随机发送电子邮件为纯文本/文本。 Google似乎改变了我设置的内容类型标题。这有什么理由吗?电子邮件的内容一直都是一样的(就像我测试的那样)。 API是否仍然是实验性的? 有时当它工作时,它也增加了Content-Type: multipart/alternative;
(尽管我从未设置它)。为什么gmail API以纯文本格式发送html电子邮件?
编码过程如下所示。代码是Go,但我想它是自我解释的,过程是语言不可知的。
header := make(map[string]string)
header["From"] = em.From.String()
header["To"] = em.To.String()
// header["Subject"] = encodeRFC2047(em.Subject)
header["Subject"] = em.Subject
header["MIME-Version"] = "1.0"
header["Content-Type"] = "text/html; charset=\"utf-8\""
// header["Content-Transfer-Encoding"] = "base64"
header["Content-Transfer-Encoding"] = "quoted-printable"
var msg string
for k, v := range header {
msg += fmt.Sprintf("%s: %s\r\n", k, v)
}
msg += "\r\n" + em.Message
gmsg := gmail.Message{
Raw: encodeWeb64String([]byte(msg)),
}
_, err = gmailService.Users.Messages.Send("me", &gmsg).Do()
问题类似于http://stackoverflow.com/questions/26841905/sending-email-multipart-signed-rfc-3156-via-gmail-apis – SGC