0

我有一个发送 base64url 编码字符串的程序,但我读到了 base64 不支持“\”字符的地方。我的目的是在 Go 中使用Gmail API发送电子邮件。身体部分由以下部分组成:

"Name: \n\nThis is the body of the email\n\nSincerely,\nSenderName"

当我通过 Gmail API 发送电子邮件时,我需要传递一个 base64url 字符串。我有以下功能来处理:

func encodeWeb64String(b []byte) string {

    s := base64.URLEncoding.EncodeToString(b)

    var i = len(s) - 1
    for s[i] == '=' {
        i--
    }

    return s[0 : i+1]
}

我已经在这篇文章之后将标题信息添加到 msg中,并将内容类型设置为text/html; charset=\"utf-8\". 然后,我使用以下方法创建 Gmail 邮件:

gmsg := gmail.Message{
    Raw: encodeWeb64String([]byte(msg)),
}

当电子邮件通过时,它看起来像这样:

姓名:这是电子邮件的正文 真诚的,发件人姓名

但我希望每个 '\n' 都放入实际的换行符。感谢您的帮助,我是 Go 的 Gmail API 的新手。

4

1 回答 1

0

我终于修好了。我必须将内容类型从 更改text/htmltext/plain,现在换行符在电子邮件客户端上正确显示

于 2019-07-27T22:47:53.827 回答