From 89f46e31998dd62a52d7dd07b16f1d81d9597e3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Tue, 21 Apr 2020 22:20:20 +0200 Subject: Upload mails to imap --- main.go | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index af75fb7..8e4b64f 100644 --- a/main.go +++ b/main.go @@ -5,6 +5,7 @@ import ( "fmt" "net/url" "os" + "time" "github.com/Necoro/feed2imap-go/internal/feed" "github.com/Necoro/feed2imap-go/internal/imap" @@ -33,15 +34,6 @@ func run() error { feed.Parse(feeds) - for _, f := range feeds { - mails, err := f.ToMails(cfg) - if err != nil { - return err - } - _ = mails - break - } - imapUrl, err := url.Parse(cfg.Target) if err != nil { return fmt.Errorf("parsing 'target': %w", err) @@ -54,6 +46,26 @@ func run() error { defer c.Disconnect() + for _, f := range feeds { + mails, err := f.ToMails(cfg) + if err != nil { + return err + } + if len(mails) == 0 { + continue + } + folder := c.NewFolder(f.Target) + if err = c.EnsureFolder(folder); err != nil { + return err + } + for _, mail := range mails { + if err = c.PutMessage(folder, mail, time.Now()); err != nil { + return err + } // TODO + } + log.Printf("Uploaded %d messages to '%s' @ %s", len(mails), f.Name, folder) + } + return nil } -- cgit v1.2.3