解析电子邮件主题标题

问题描述 投票:1回答:1

我正在使用net/mail通过Go阅读电子邮件:

msg, _ := mail.ReadMessage(f)
subject := msg.Header.Get("Subject")
fmt.Printf("Subject = %v", subject)

而且我很难弄清楚当主题具有特殊字符并且邮件提供商将其从纯文本转换为编码文本时,如何对该主题进行解码。

例如,如果发送一封带有“这是一个测试”的电子邮件-请注意,这是一个正确的弯引号-则该主题最终会以UTF-8编码,我认为是十六进制值:

=?UTF-8?Q?It=E2=80=99s_a_test?=

我的问题是:

  1. 用来描述此处正在进行的编码的正确术语是什么?

  2. 在执行我需要做的事情(显示它,将其放入数据库等之前,我将使用哪个库将上面的字符串[=?UTF-8?Q?It=E2=80=99s_a_test?=]解码回It’s a test,]

go encoding mime
1个回答
3
投票

通过搜索golang =?UTF-8?Q?并查看Go的mime程序包中的可用功能找到了答案

https://golang.org/pkg/mime/#WordDecoder.DecodeHeader

© www.soinside.com 2019 - 2024. All rights reserved.