我一直在使用golang解析电子邮件。我现在正在提取附件。我已经研究了golang lib MIME和MIME/multipart。但它没有任何方法或功能来做到这一点。
我具体想做的是:示例
我有一个电子邮件文件,其中包含附件文件1.txt、文件2.pdf和文件3.png。我已经成功解析了电子邮件正文。现在我想提取附件并将它们保存在单独的目录中。我已经搜索了golang的所有部分,包括MIME和MIME/multipart。他们似乎没有此功能。戈朗能做到吗?如果是,请提供任何提示或线索。
我找到了一个解决方案,它使用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
}
}
我认为首先你应该找到以下边界:
内容类型:多部分/混合;边界={样本边界}
然后,您将电子邮件拆分为该sample-boundary
。
最后,您将获得附件的base64编码部分。
我目前正在研究这个。我完成后会回来的。