电子邮件的 Subject 主题字段中文乱码
标签
开发/后端/SMTP
开发/语言/Golang
开发/后端/邮件
开发/后端/Email
编码/UTF-8
规范/RFC
计算机/网络/协议/邮件/Email
字数
217 字
阅读时间
2 分钟
文档版本
编辑者 | 版本 | 变更日期 | 变更说明 |
---|---|---|---|
Neko | v1.0.0 | 2022-04-02 | 创建 |
在 Golang 中我们可以使用下面的代码直接修复该问题:
go
// 组合拼接邮件内容
header := make(map[string]string)
header["Subject"] = "=?UTF-8?B?" + base64.StdEncoding.EncodeToString([]byte(subject)) + "?=" + "\n"
如果你更喜欢 fmt.Sprint
的使用方法,也可以用下面的这个:
go
// 组合拼接邮件内容
header := make(map[string]string)
header["Subject"] = fmt.Sprintf("=?UTF-8?B?%s?=\n", base64.StdEncoding.EncodeToString([]byte(subject)))
延伸阅读
encoding - Converting "=?UTF 8?.." (RFC 2047) to a regular string in golang - Stack Overflow
encoding - MIME email Subject etc. headers vs. utf8: first split, then encode? - Stack Overflow
What the =?UTF-8?B?ZnVjayDwn5CO?=! – dmorgan.info
golang--解决邮件发送标题乱码问题 - 黑曼巴后仰 - 博客园