gpt4 book ai didi

mongodb - 如何将引用的可打印解码器实现为阅读电子邮件正文?

转载 作者:IT王子 更新时间:2023-10-29 02:21:18 26 4
gpt4 key购买 nike

以下代码(完整代码的一部分)创建一个阅读器,然后读取电子邮件的正文并将它们存储到“最终正文”中。然后将这个最终的主体传递到 mongoldb 中进行存档。但是,读取的消息正文是可打印的,我希望将传递到 mongodb 的正文解码为 utf8。如何在这段代码中实现引用的可打印包,具体在哪里?

// Creates a reader.

mediaType, params, err := mime.ParseMediaType(contentType)
if err != nil {
log.Println("Unable to read the type of the content.")
log.Println(err)
return
}
reader := multipart.NewReader(msg.Body, params["boundary"])

// Reads the body
finalBody := ""
if strings.HasPrefix(mediaType, "multipart/") {
for {
p, err := reader.NextPart()
if err == io.EOF {
break
}
if err != nil {
log.Println(err)
return
}
slurp, err := ioutil.ReadAll(p)
if err != nil {
log.Println(err)
return
}
finalBody += string(slurp)
}
} else {
txt, err := ioutil.ReadAll(msg.Body)
if err != nil {
log.Fatal(err)
}
finalBody += string(txt)
}

并且该段将最终主体传递给 mongodb

importMsg := &importer.Mail{
Body: finalBody }

// Saves in MongoDB
dal := importer.NewMailDAO(c, mongo)
dal.Save(importMsg)

}

最佳答案

使用 quotedprintable包裹。当 body 元素的编码是 quotedprintable 时,使用以下内容吞噬文本:

slurp, err := ioutil.ReadAll(quotedprintable.NewReader(r))

其中 r 是正文或部分。

关于mongodb - 如何将引用的可打印解码器实现为阅读电子邮件正文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48433617/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com