将换行符添加到 base64url 字符串

Adding newline to base64url string

我有一个发送 base64url 编码字符串的程序,但我在某些地方读到 base64 不支持“\”字符。我的目的是在 Go 中发送带有 Gmail API 的电子邮件。 body 部分包含以下内容:

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

当我send emails through the 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]
}

我已将 header 信息添加到此 post 之后的消息中,并将内容类型设置为 text/html; charset=\"utf-8\"。然后我使用这个创建 Gmail 邮件:

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

收到电子邮件后,它看起来像这样:

Name: This is the body of the email Sincerely, SenderName

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

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