notmuch

package
v0.0.0-...-5584dbf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2023 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IMAPSearchToNotmuch

func IMAPSearchToNotmuch(s *imap.SearchCriteria, topLevel bool) (string, error)

IMAPSearchToNotmuch converts an *imap.SearchCriteria to a notmuch query string. As notmuch doesn't index sizes, we can't search by them, and an error will be returned.

Types

type Backend

type Backend struct {
	// contains filtered or unexported fields
}

func New

func New(cfg *config.Config) (*Backend, error)

func (*Backend) Login

func (b *Backend) Login(_ *imap.ConnInfo, username, password string) (backend.User, error)

type Mailbox

type Mailbox struct {
	Messages []*Message
	// contains filtered or unexported fields
}

func (*Mailbox) Check

func (mbox *Mailbox) Check() error

func (*Mailbox) CopyMessages

func (mbox *Mailbox) CopyMessages(uid bool, seqset *imap.SeqSet, destName string) error

func (*Mailbox) CreateMessage

func (mbox *Mailbox) CreateMessage(flags []string, date time.Time, body imap.Literal) error

func (*Mailbox) Expire

func (mbox *Mailbox) Expire()

func (*Mailbox) Expunge

func (mbox *Mailbox) Expunge() error

func (*Mailbox) Info

func (mbox *Mailbox) Info() (*imap.MailboxInfo, error)

func (*Mailbox) ListMessages

func (mbox *Mailbox) ListMessages(uid bool, seqSet *imap.SeqSet, items []imap.FetchItem, ch chan<- *imap.Message) error

func (*Mailbox) MoveMessages

func (mbox *Mailbox) MoveMessages(uid bool, seqset *imap.SeqSet, dest string) error

func (*Mailbox) Name

func (mbox *Mailbox) Name() string

func (*Mailbox) SearchMessages

func (mbox *Mailbox) SearchMessages(uid bool, criteria *imap.SearchCriteria) ([]uint32, error)

func (*Mailbox) SetSubscribed

func (mbox *Mailbox) SetSubscribed(subscribed bool) error

func (*Mailbox) Status

func (mbox *Mailbox) Status(items []imap.StatusItem) (*imap.MailboxStatus, error)

func (*Mailbox) UpdateMessagesFlags

func (mbox *Mailbox) UpdateMessagesFlags(uid bool, seqset *imap.SeqSet, op imap.FlagsOp, flags []string) error

type Message

type Message struct {
	ID       string
	Uid      uint32
	Date     time.Time
	Size     uint32
	Flags    []string
	Filename string
}

func (*Message) Fetch

func (m *Message) Fetch(seqNum uint32, items []imap.FetchItem) (*imap.Message, error)

func (*Message) Match

func (m *Message) Match(seqNum uint32, c *imap.SearchCriteria) (bool, error)

func (*Message) Tags

func (m *Message) Tags() []string

type User

type User struct {
	// contains filtered or unexported fields
}

func (*User) CreateMailbox

func (u *User) CreateMailbox(name string) error

func (*User) DeleteMailbox

func (u *User) DeleteMailbox(name string) error

func (*User) GetMailbox

func (u *User) GetMailbox(name string) (mailbox backend.Mailbox, err error)

func (*User) ListMailboxes

func (u *User) ListMailboxes(subscribed bool) (mailboxes []backend.Mailbox, err error)

func (*User) Logout

func (u *User) Logout() error

func (*User) RenameMailbox

func (u *User) RenameMailbox(existingName, newName string) error

func (*User) Username

func (u *User) Username() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL