Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 使用GOLANG从电子邮件文件中提取附件_Email_Go_Attachment - Fatal编程技术网

Email 使用GOLANG从电子邮件文件中提取附件

Email 使用GOLANG从电子邮件文件中提取附件,email,go,attachment,Email,Go,Attachment,我一直在使用golang解析电子邮件。我现在正在提取附件。我已经研究了golang lib MIME和MIME/multipart。但它没有任何方法或功能来实现这一点 我特别想做的是:举例说明 我有一个带有附件file1.txt、file2.pdf和file3.png的电子邮件文件。我已成功解析电子邮件正文。现在我想提取附件并将它们保存在一个单独的目录中。我搜索了golang的所有部分,包括MIME和MIME/多部分。他们似乎没有这个功能。戈朗能做到吗?如果是,请提供任何提示或线索。我认为首先你

我一直在使用golang解析电子邮件。我现在正在提取附件。我已经研究了golang lib MIME和MIME/multipart。但它没有任何方法或功能来实现这一点

我特别想做的是:举例说明


我有一个带有附件file1.txt、file2.pdf和file3.png的电子邮件文件。我已成功解析电子邮件正文。现在我想提取附件并将它们保存在一个单独的目录中。我搜索了golang的所有部分,包括MIME和MIME/多部分。他们似乎没有这个功能。戈朗能做到吗?如果是,请提供任何提示或线索。

我认为首先你应该找到以下的边界:

内容类型:多部分/混合;边界={样本边界}

然后按
示例边界
拆分电子邮件

最后得到附件的base64编码部分


我正在做这件事。完成后我会回来。

我找到了一个解决方案,它使用了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
    }
}

也许会有帮助?我认为它是不完整的,被抛弃了。我们使用这个
gopkg.in/gomail.v2
来构建mime邮件。没有测试解构它们。