package model import "github.com/emersion/go-imap/v2" type DefaultMailbox struct { Name MailboxName SpecialUse imap.MailboxAttr } type MailboxName string var ( MailboxINBOX = MailboxName("INBOX") MailboxGatekeeper = MailboxName("Gatekeeper") MailboxArchive = MailboxName("Archive") MailboxDrafts = MailboxName("Drafts") MailboxJunk = MailboxName("Junk") MailboxSent = MailboxName("Sent") MailboxTrash = MailboxName("Trash") ) func DefaultMailboxes() []DefaultMailbox { return []DefaultMailbox{ {Name: MailboxINBOX}, {Name: MailboxGatekeeper}, {Name: MailboxArchive, SpecialUse: imap.MailboxAttrArchive}, {Name: MailboxDrafts, SpecialUse: imap.MailboxAttrDrafts}, {Name: MailboxJunk, SpecialUse: imap.MailboxAttrJunk}, {Name: MailboxSent, SpecialUse: imap.MailboxAttrSent}, {Name: MailboxTrash, SpecialUse: imap.MailboxAttrTrash}, } } type Mailbox struct { ID int Name string SpecialUse *string UIDValidity uint32 UIDNext int HighestModSeq int NumMessages uint32 NumUnseen int NumDeleted int Size int64 IsSubscribed bool }