我一直在使用golang解析电子邮件。我现在正在提取附件。我查看了golang lib MIME和MIME / multipart。但它没有任何方法或功能来做到这一点。
具体我想做的是:示例
我有一个附件为file1.txt,file2.pdf和file3.png的电子邮件文件。我已经成功解析了电子邮件正文。现在我想提取附件并将它们保存在一个单独的目录中。我搜索了golang的所有部分,包括MIME和MIME / multipart。他们似乎没有这个功能。 golang可以这样做吗?如果有任何提示或线索请。
答案 0 :(得分:0)
我认为首先应找到以下界限:
内容类型:multipart / mixed;边界= {样本边界}
然后您按sample-boundary
分割电子邮件。
最后,您获得了附件的base64编码部分。
我目前正在研究这个问题。我完成后会回来的。
答案 1 :(得分:0)
我找到了一个使用DusanKasan的parsemail函数的解决方案
import (
"github.com/DusanKasan/parsemail"
)
func readEmail() error {
b := getYourEmail()
email, err := parsemail.Parse(bytes.NewBuffer(b))
if err != nil{
return err
}
for _, a := range email.Attachments{
// do stuff with attachment
}
}