imapserver

package
v0.0.0-...-edf14c0 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2023 License: MPL-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewIMAPServer

func NewIMAPServer(backend *Backend, addr string, insecure bool) (*IMAPServer, *IMAPNotify, error)

Types

type Backend

type Backend struct {
	Config  *config.Config
	Log     *log.Logger
	Storage storage.Storage
	Server  *IMAPServer
}

func (*Backend) Login

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

type IMAPNotify

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

func NewIMAPNotify

func NewIMAPNotify(s *server.Server, log *log.Logger) *IMAPNotify

func (*IMAPNotify) Capabilities

func (ext *IMAPNotify) Capabilities(c server.Conn) []string

func (*IMAPNotify) Command

func (ext *IMAPNotify) Command(name string) server.HandlerFactory

func (*IMAPNotify) NotifyNew

func (ext *IMAPNotify) NotifyNew(id, count int) error

type IMAPNotifyHandler

type IMAPNotifyHandler struct {
	imap.Command
}

func (*IMAPNotifyHandler) Handle

func (h *IMAPNotifyHandler) Handle(conn server.Conn) error

type IMAPServer

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

type Mailbox

type Mailbox struct {
	// 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) 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) 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 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