Documentation ¶
Overview ¶
Package connector defines the type that connects the server to a remote.
Index ¶
- Variables
- type Connector
- type Dummy
- func (conn *Dummy) AddMessagesToMailbox(ctx context.Context, messageIDs []imap.MessageID, mboxID imap.MailboxID) error
- func (conn *Dummy) Authorize(_ context.Context, username string, password []byte) bool
- func (conn *Dummy) ClearUpdates()
- func (conn *Dummy) Close(ctx context.Context) error
- func (conn *Dummy) CreateMailbox(ctx context.Context, name []string) (imap.Mailbox, error)
- func (conn *Dummy) CreateMessage(ctx context.Context, mboxID imap.MailboxID, literal []byte, flags imap.FlagSet, ...) (imap.Message, []byte, error)
- func (conn *Dummy) DeleteMailbox(ctx context.Context, mboxID imap.MailboxID) error
- func (conn *Dummy) Flush()
- func (conn *Dummy) GetLastRecordedIMAPID() imap.IMAPID
- func (conn *Dummy) GetMailboxVisibility(_ context.Context, id imap.MailboxID) imap.MailboxVisibility
- func (conn *Dummy) GetMessageLiteral(ctx context.Context, id imap.MessageID) ([]byte, error)
- func (conn *Dummy) GetUpdates() <-chan imap.Update
- func (conn *Dummy) MailboxCreated(mbox imap.Mailbox) error
- func (conn *Dummy) MailboxDeleted(mboxID imap.MailboxID) error
- func (conn *Dummy) MarkMessagesFlagged(ctx context.Context, messageIDs []imap.MessageID, flagged bool) error
- func (conn *Dummy) MarkMessagesSeen(ctx context.Context, messageIDs []imap.MessageID, seen bool) error
- func (conn *Dummy) MessageAdded(messageID imap.MessageID, mboxID imap.MailboxID) error
- func (conn *Dummy) MessageCreated(message imap.Message, literal []byte, mboxIDs []imap.MailboxID) error
- func (conn *Dummy) MessageDeleted(messageID imap.MessageID) error
- func (conn *Dummy) MessageFlagged(messageID imap.MessageID, flagged bool) error
- func (conn *Dummy) MessageRemoved(messageID imap.MessageID, mboxID imap.MailboxID) error
- func (conn *Dummy) MessageSeen(messageID imap.MessageID, seen bool) error
- func (conn *Dummy) MessageUpdated(message imap.Message, literal []byte, mboxIDs []imap.MailboxID) error
- func (conn *Dummy) MessagesCreated(messages []imap.Message, literals [][]byte, mboxIDs [][]imap.MailboxID) error
- func (conn *Dummy) MoveMessages(ctx context.Context, messageIDs []imap.MessageID, ...) (bool, error)
- func (conn *Dummy) RemoveMessagesFromMailbox(ctx context.Context, messageIDs []imap.MessageID, mboxID imap.MailboxID) error
- func (conn *Dummy) SetAllowMessageCreateWithUnknownMailboxID(value bool)
- func (conn *Dummy) SetFolderPrefix(pfx string)
- func (conn *Dummy) SetLabelsPrefix(pfx string)
- func (conn *Dummy) SetMailboxVisibility(id imap.MailboxID, visibility imap.MailboxVisibility)
- func (conn *Dummy) SetUpdatesAllowedToFail(value bool)
- func (conn *Dummy) Sync(ctx context.Context) error
- func (conn *Dummy) UIDValidityBumped()
- func (conn *Dummy) UpdateMailboxName(ctx context.Context, mboxID imap.MailboxID, newName []string) error
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNoSuchMailbox = errors.New("no such mailbox") ErrNoSuchMessage = errors.New("no such message") ErrInvalidPrefix = errors.New("invalid prefix") ErrRenameForbidden = errors.New("rename operation is not allowed") ErrDeleteForbidden = errors.New("delete operation is not allowed") )
View Source
var ErrMessageSizeExceedsLimits = errors.New("message size exceeds limits")
View Source
var ErrOperationNotAllowed = errors.New("operation not allowed")
Functions ¶
This section is empty.
Types ¶
type Connector ¶
type Connector interface { // Authorize returns whether the given username/password combination are valid for this connector. Authorize(ctx context.Context, username string, password []byte) bool // CreateMailbox creates a mailbox with the given name. CreateMailbox(ctx context.Context, name []string) (imap.Mailbox, error) // GetMessageLiteral is intended to be used by Gluon when, for some reason, the local cached data no longer exists. // Note: this can get called from different go routines. GetMessageLiteral(ctx context.Context, id imap.MessageID) ([]byte, error) // GetMailboxVisibility can be used to retrieve the visibility of mailboxes for connected clients. GetMailboxVisibility(ctx context.Context, mboxID imap.MailboxID) imap.MailboxVisibility // UpdateMailboxName sets the name of the mailbox with the given ID. UpdateMailboxName(ctx context.Context, mboxID imap.MailboxID, newName []string) error // DeleteMailbox deletes the mailbox with the given ID. DeleteMailbox(ctx context.Context, mboxID imap.MailboxID) error // CreateMessage creates a new message on the remote. CreateMessage(ctx context.Context, mboxID imap.MailboxID, literal []byte, flags imap.FlagSet, date time.Time) (imap.Message, []byte, error) // AddMessagesToMailbox adds the given messages to the given mailbox. AddMessagesToMailbox(ctx context.Context, messageIDs []imap.MessageID, mboxID imap.MailboxID) error // RemoveMessagesFromMailbox removes the given messages from the given mailbox. RemoveMessagesFromMailbox(ctx context.Context, messageIDs []imap.MessageID, mboxID imap.MailboxID) error // MoveMessages removes the given messages from one mailbox and adds them to the another mailbox. // Returns true if the original messages should be removed from mboxFromID (e.g: Distinguishing between labels and folders). MoveMessages(ctx context.Context, messageIDs []imap.MessageID, mboxFromID, mboxToID imap.MailboxID) (bool, error) // MarkMessagesSeen sets the seen value of the given messages. MarkMessagesSeen(ctx context.Context, messageIDs []imap.MessageID, seen bool) error // MarkMessagesFlagged sets the flagged value of the given messages. MarkMessagesFlagged(ctx context.Context, messageIDs []imap.MessageID, flagged bool) error // GetUpdates returns a stream of updates that the gluon server should apply. GetUpdates() <-chan imap.Update // Close the connector will no longer be used and all resources should be closed/released. Close(ctx context.Context) error }
Connector connects the gluon server to a remote mail store.
type Dummy ¶
type Dummy struct {
// contains filtered or unexported fields
}
func (*Dummy) AddMessagesToMailbox ¶ added in v0.13.0
func (*Dummy) ClearUpdates ¶ added in v0.9.0
func (conn *Dummy) ClearUpdates()
func (*Dummy) CreateMailbox ¶ added in v0.13.0
func (*Dummy) CreateMessage ¶
func (*Dummy) DeleteMailbox ¶ added in v0.13.0
func (*Dummy) GetLastRecordedIMAPID ¶ added in v0.8.0
func (*Dummy) GetMailboxVisibility ¶ added in v0.15.0
func (*Dummy) GetMessageLiteral ¶ added in v0.15.0
func (*Dummy) GetUpdates ¶
func (*Dummy) MarkMessagesFlagged ¶
func (*Dummy) MarkMessagesSeen ¶
func (*Dummy) MessageAdded ¶
func (*Dummy) MessageCreated ¶
func (*Dummy) MessageDeleted ¶ added in v0.8.1
func (*Dummy) MessageFlagged ¶
func (*Dummy) MessageRemoved ¶
func (*Dummy) MessageSeen ¶
func (*Dummy) MessageUpdated ¶ added in v0.14.0
func (*Dummy) MessagesCreated ¶ added in v0.12.0
func (*Dummy) MoveMessages ¶ added in v0.12.0
func (*Dummy) RemoveMessagesFromMailbox ¶ added in v0.13.0
func (*Dummy) SetAllowMessageCreateWithUnknownMailboxID ¶ added in v0.15.0
func (*Dummy) SetFolderPrefix ¶
func (*Dummy) SetLabelsPrefix ¶ added in v0.14.0
func (*Dummy) SetMailboxVisibility ¶ added in v0.15.0
func (conn *Dummy) SetMailboxVisibility(id imap.MailboxID, visibility imap.MailboxVisibility)
func (*Dummy) SetUpdatesAllowedToFail ¶ added in v0.15.0
func (*Dummy) UIDValidityBumped ¶ added in v0.14.0
func (conn *Dummy) UIDValidityBumped()
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package mock_connector is a generated GoMock package.
|
Package mock_connector is a generated GoMock package. |
Click to show internal directories.
Click to hide internal directories.