Gmail imap - 正文内的字符集错误
问题描述:
当前尝试使用包"github.com/emersion/go-imap"
来解析某些电子邮件,但是我在尝试解析来自特定公司的电子邮件时发现了一些电子邮件 - 他们在注册时发送自动电子邮件,返回错误“unhandled charset "ascii
”尝试下面的代码时:Gmail imap - 正文内的字符集错误
mr, err := mail.CreateReader(r)
if err != nil {
log.Fatal(err)
}
值r
被分配代码:
msg := <-messages
r := msg.GetBody("BODY[]")
if r == nil {
log.Fatal("Server didn't returned message body")
}
它试图获取消息的身体在我的收件箱。我不确定是什么原因导致了这个错误,考虑到我已经在作品上测试过的其他每封电子邮件 - 这只是发送的特定电子邮件,导致我的代码失败。我尝试过重新发送并尝试新的电子邮件地址。不知道我能做什么
答
该消息似乎来自message.go,并且可能表示go-imap仅在默认情况下支持ASCII,而不是在明确指定时支持。换句话说,Content-Type: text/plain
应该工作,而不是Content-Type: text/plain; charset=ascii
。最简单的方法可能是修复go-imap并提交拉取请求。很多老字符都有不止一个名字。您不需要添加对所有遗留字符集的支持,但对于那些支持为的用户,go-imap确实应该知道所有的名称。 names are kept by IANA和this script是您可能想要用来解析IANA列表并生成一组别名的类型。
好吧,太棒了。谢谢。我会看看我能做些什么 –