aboutsummaryrefslogtreecommitdiff
path: root/internal/imap/connection.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/imap/connection.go')
-rw-r--r--internal/imap/connection.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/internal/imap/connection.go b/internal/imap/connection.go
index e0360bd..88b1496 100644
--- a/internal/imap/connection.go
+++ b/internal/imap/connection.go
@@ -9,6 +9,7 @@ import (
imapClient "github.com/emersion/go-imap/client"
"github.com/Necoro/feed2imap-go/internal/log"
+ "github.com/Necoro/feed2imap-go/internal/util"
)
type connection struct {
@@ -109,10 +110,10 @@ func (conn *connection) ensureFolder(folder Folder) error {
panic("Delimiters do not match")
}
- switch found {
- case 0:
+ switch {
+ case found == 0 || (found == 1 && util.StrContains(mbox.Attributes, imap.NoSelectAttr)):
return conn.createFolder(folder.str)
- case 1:
+ case found == 1:
conn.mailboxes.add(mbox)
return nil
default: