gpt4 book ai didi

go - 从 maildir 解析多部分电子邮件

转载 作者:IT王子 更新时间:2023-10-29 01:59:04 29 4
gpt4 key购买 nike

我需要解析从 unix maildir 读取的多部分电子邮件文件。您能否推荐一个合适的库来执行此操作?

电子邮件通过 IMAP 接收并转储到 maildir。我需要解析这些电子邮件文件并提取所有部分,包括标题、base64 附件、html 部分和纯文本部分。

谢谢

编辑

我知道我可以用关键字和东西搜索图书馆,但如果可能的话,我也想听听一些关于质量和体验的意见。

我可以处理实际的 maildir 和获取邮件文件。我关心的是多部分电子邮件的解析(作为字符串提供)和提取各个部分。

最佳答案

我很幸运地使用 github.com/jhillyerd/enmime 做到了这一点包裹。给定一个 io.Reader r:

// Parse message body
env, _ := enmime.ReadEnvelope(r)
// Headers can be retrieved via Envelope.GetHeader(name).
fmt.Printf("From: %v\n", env.GetHeader("From"))
// Address-type headers can be parsed into a list of decoded mail.Address structs.
alist, _ := env.AddressList("To")
for _, addr := range alist {
fmt.Printf("To: %s <%s>\n", addr.Name, addr.Address)
}
fmt.Printf("Subject: %v\n", env.GetHeader("Subject"))

// The plain text body is available as mime.Text.
fmt.Printf("Text Body: %v chars\n", len(env.Text))

// The HTML body is stored in mime.HTML.
fmt.Printf("HTML Body: %v chars\n", len(env.HTML))

// mime.Inlines is a slice of inlined attacments.
fmt.Printf("Inlines: %v\n", len(env.Inlines))

// mime.Attachments contains the non-inline attachments.
fmt.Printf("Attachments: %v\n", len(env.Attachments))

关于go - 从 maildir 解析多部分电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35422868/

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