Documentation ¶
Overview ¶
Package commands implements IMAP commands defined in RFC 3501.
Index ¶
- type Append
- type Authenticate
- type AuthenticateConn
- type Capability
- type Check
- type Close
- type Copy
- type Create
- type Delete
- type Enable
- type Expunge
- type Fetch
- type Idle
- type List
- type Login
- type Logout
- type Move
- type Noop
- type Rename
- type Search
- type Select
- type StartTLS
- type Status
- type Store
- type Subscribe
- type Uid
- type Unselect
- type Unsubscribe
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Append ¶
Append is an APPEND command, as defined in RFC 3501 section 6.3.11.
type Authenticate ¶
Authenticate is an AUTHENTICATE command, as defined in RFC 3501 section 6.2.2.
func (*Authenticate) Command ¶
func (cmd *Authenticate) Command() *imap.Command
func (*Authenticate) Handle ¶
func (cmd *Authenticate) Handle(mechanisms map[string]sasl.Server, conn AuthenticateConn) error
func (*Authenticate) Parse ¶
func (cmd *Authenticate) Parse(fields []interface{}) error
type AuthenticateConn ¶
type AuthenticateConn interface { io.Reader // WriteResp writes an IMAP response to this connection. WriteResp(res imap.WriterTo) error }
AuthenticateConn is a connection that supports IMAP authentication.
type Capability ¶
type Capability struct{}
Capability is a CAPABILITY command, as defined in RFC 3501 section 6.1.1.
func (*Capability) Command ¶
func (c *Capability) Command() *imap.Command
func (*Capability) Parse ¶
func (c *Capability) Parse(fields []interface{}) error
type Copy ¶
type Copy struct { SeqSet *imap.SeqSet Mailbox string }
Copy is a COPY command, as defined in RFC 3501 section 6.4.7.
type Create ¶
type Create struct {
Mailbox string
}
Create is a CREATE command, as defined in RFC 3501 section 6.3.3.
type Delete ¶
type Delete struct {
Mailbox string
}
Delete is a DELETE command, as defined in RFC 3501 section 6.3.3.
type Enable ¶
type Enable struct {
Caps []string
}
An ENABLE command, defined in RFC 5161 section 3.1.
type Expunge ¶
type Expunge struct{}
Expunge is an EXPUNGE command, as defined in RFC 3501 section 6.4.3.
type Fetch ¶
type Fetch struct { SeqSet *imap.SeqSet Items []imap.FetchItem }
Fetch is a FETCH command, as defined in RFC 3501 section 6.4.5.
type List ¶
List is a LIST command, as defined in RFC 3501 section 6.3.8. If Subscribed is set to true, LSUB will be used instead.
type Login ¶
Login is a LOGIN command, as defined in RFC 3501 section 6.2.2.
type Logout ¶
type Logout struct{}
Logout is a LOGOUT command, as defined in RFC 3501 section 6.1.3.
type Move ¶
type Move struct { SeqSet *imap.SeqSet Mailbox string }
A MOVE command. See RFC 6851 section 3.1.
type Rename ¶
Rename is a RENAME command, as defined in RFC 3501 section 6.3.5.
type Search ¶
type Search struct { Charset string Criteria *imap.SearchCriteria }
Search is a SEARCH command, as defined in RFC 3501 section 6.4.4.
type Select ¶
Select is a SELECT command, as defined in RFC 3501 section 6.3.1. If ReadOnly is set to true, the EXAMINE command will be used instead.
type StartTLS ¶
type StartTLS struct{}
StartTLS is a STARTTLS command, as defined in RFC 3501 section 6.2.1.
type Status ¶
type Status struct { Mailbox string Items []imap.StatusItem }
Status is a STATUS command, as defined in RFC 3501 section 6.3.10.
type Store ¶
type Store struct { SeqSet *imap.SeqSet Item imap.StoreItem Value interface{} }
Store is a STORE command, as defined in RFC 3501 section 6.4.6.
type Subscribe ¶
type Subscribe struct {
Mailbox string
}
Subscribe is a SUBSCRIBE command, as defined in RFC 3501 section 6.3.6.
type Uid ¶
type Uid struct {
Cmd imap.Commander
}
Uid is a UID command, as defined in RFC 3501 section 6.4.8. It wraps another command (e.g. wrapping a Fetch command will result in a UID FETCH).
type Unsubscribe ¶
type Unsubscribe struct {
Mailbox string
}
An UNSUBSCRIBE command. See RFC 3501 section 6.3.7
func (*Unsubscribe) Command ¶
func (cmd *Unsubscribe) Command() *imap.Command
func (*Unsubscribe) Parse ¶
func (cmd *Unsubscribe) Parse(fields []interface{}) error