将换行符添加到 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
,现在换行符在电子邮件客户端上正确显示
我有一个发送 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
,现在换行符在电子邮件客户端上正确显示