Ответы пользователя по тегу Go
  • Как используя golang imap скачивать письмо и вложение?

    @mazhigali
    "github.com/emersion/go-imap"
    switch h := p.Header.(type) {
    //case mail.TextHeader:
    //// This is the message's text (can be plain-text or HTML)
    //b, _ := ioutil.ReadAll(p.Body)
    //log.Println("Got text: %v", string(b))
    case mail.AttachmentHeader:
    // This is an attachment
    filename, _ := h.Filename()
    //log.Println("Got attachment: %v", filename)

    for _, checkFileName := range checkFileNames {
    //если название вложения к письму совпадает с то скачиваем в прайс
    if strings.Contains(filename, checkFileName) == true {
    log.Println("Downloading file: ", filename)

    //создаем файл
    output, err := os.Create(filename)
    if err != nil {
    fmt.Println("Error while creating", "-", err)
    }
    defer output.Close()
    //--------------

    //записываем байты в файл
    _, err = io.Copy(output, p.Body)
    if err != nil {
    fmt.Println("Error while downloading", "-", err)
    }
    //--------------
    }
    }
    }
    Ответ написан
    Комментировать