diff options
Diffstat (limited to 'plugins/base/imap.go')
-rw-r--r-- | plugins/base/imap.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/plugins/base/imap.go b/plugins/base/imap.go index 3ccc73a..433a63e 100644 --- a/plugins/base/imap.go +++ b/plugins/base/imap.go @@ -174,6 +174,15 @@ func (msg *IMAPMessage) PartTree() *IMAPPartNode { return imapPartTree(msg.BodyStructure, nil) } +func (msg *IMAPMessage) HasFlag(flag string) bool { + for _, f := range msg.Flags { + if imap.CanonicalFlag(f) == flag { + return true + } + } + return false +} + func listMessages(conn *imapclient.Client, mboxName string, page int) ([]IMAPMessage, error) { if err := ensureMailboxSelected(conn, mboxName); err != nil { return nil, err @@ -295,6 +304,7 @@ func getMessagePart(conn *imapclient.Client, mboxName string, uid uint32, partPa imap.FetchEnvelope, imap.FetchUid, imap.FetchBodyStructure, + imap.FetchFlags, partHeaderSection.FetchItem(), partBodySection.FetchItem(), } |