Documentation

Overview

    Package commands implements IMAP commands defined in RFC 3501.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    This section is empty.

    Types

    type Append

    type Append struct {
    	Mailbox string
    	Flags   []string
    	Date    time.Time
    	Message imap.Literal
    }

      Append is an APPEND command, as defined in RFC 3501 section 6.3.11.

      func (*Append) Command

      func (cmd *Append) Command() *imap.Command

      func (*Append) Parse

      func (cmd *Append) Parse(fields []interface{}) (err error)

      type Authenticate

      type Authenticate struct {
      	Mechanism       string
      	InitialResponse []byte
      }

        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 Check

            type Check struct{}

              Check is a CHECK command, as defined in RFC 3501 section 6.4.1.

              func (*Check) Command

              func (cmd *Check) Command() *imap.Command

              func (*Check) Parse

              func (cmd *Check) Parse(fields []interface{}) error

              type Close

              type Close struct{}

                Close is a CLOSE command, as defined in RFC 3501 section 6.4.2.

                func (*Close) Command

                func (cmd *Close) Command() *imap.Command

                func (*Close) Parse

                func (cmd *Close) 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.

                  func (*Copy) Command

                  func (cmd *Copy) Command() *imap.Command

                  func (*Copy) Parse

                  func (cmd *Copy) Parse(fields []interface{}) error

                  type Create

                  type Create struct {
                  	Mailbox string
                  }

                    Create is a CREATE command, as defined in RFC 3501 section 6.3.3.

                    func (*Create) Command

                    func (cmd *Create) Command() *imap.Command

                    func (*Create) Parse

                    func (cmd *Create) Parse(fields []interface{}) error

                    type Delete

                    type Delete struct {
                    	Mailbox string
                    }

                      Delete is a DELETE command, as defined in RFC 3501 section 6.3.3.

                      func (*Delete) Command

                      func (cmd *Delete) Command() *imap.Command

                      func (*Delete) Parse

                      func (cmd *Delete) Parse(fields []interface{}) error

                      type Expunge

                      type Expunge struct{}

                        Expunge is an EXPUNGE command, as defined in RFC 3501 section 6.4.3.

                        func (*Expunge) Command

                        func (cmd *Expunge) Command() *imap.Command

                        func (*Expunge) Parse

                        func (cmd *Expunge) Parse(fields []interface{}) error

                        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.

                          func (*Fetch) Command

                          func (cmd *Fetch) Command() *imap.Command

                          func (*Fetch) Parse

                          func (cmd *Fetch) Parse(fields []interface{}) error

                          type List

                          type List struct {
                          	Reference string
                          	Mailbox   string
                          
                          	Subscribed bool
                          }

                            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.

                            func (*List) Command

                            func (cmd *List) Command() *imap.Command

                            func (*List) Parse

                            func (cmd *List) Parse(fields []interface{}) error

                            type Login

                            type Login struct {
                            	Username string
                            	Password string
                            }

                              Login is a LOGIN command, as defined in RFC 3501 section 6.2.2.

                              func (*Login) Command

                              func (cmd *Login) Command() *imap.Command

                              func (*Login) Parse

                              func (cmd *Login) Parse(fields []interface{}) error

                              type Logout

                              type Logout struct{}

                                Logout is a LOGOUT command, as defined in RFC 3501 section 6.1.3.

                                func (*Logout) Command

                                func (c *Logout) Command() *imap.Command

                                func (*Logout) Parse

                                func (c *Logout) Parse(fields []interface{}) error

                                type Noop

                                type Noop struct{}

                                  Noop is a NOOP command, as defined in RFC 3501 section 6.1.2.

                                  func (*Noop) Command

                                  func (c *Noop) Command() *imap.Command

                                  func (*Noop) Parse

                                  func (c *Noop) Parse(fields []interface{}) error

                                  type Rename

                                  type Rename struct {
                                  	Existing string
                                  	New      string
                                  }

                                    Rename is a RENAME command, as defined in RFC 3501 section 6.3.5.

                                    func (*Rename) Command

                                    func (cmd *Rename) Command() *imap.Command

                                    func (*Rename) Parse

                                    func (cmd *Rename) Parse(fields []interface{}) error
                                    type Search struct {
                                    	Charset  string
                                    	Criteria *imap.SearchCriteria
                                    }

                                      Search is a SEARCH command, as defined in RFC 3501 section 6.4.4.

                                      func (*Search) Command

                                      func (cmd *Search) Command() *imap.Command

                                      func (*Search) Parse

                                      func (cmd *Search) Parse(fields []interface{}) error

                                      type Select

                                      type Select struct {
                                      	Mailbox  string
                                      	ReadOnly bool
                                      }

                                        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.

                                        func (*Select) Command

                                        func (cmd *Select) Command() *imap.Command

                                        func (*Select) Parse

                                        func (cmd *Select) Parse(fields []interface{}) error

                                        type StartTLS

                                        type StartTLS struct{}

                                          StartTLS is a STARTTLS command, as defined in RFC 3501 section 6.2.1.

                                          func (*StartTLS) Command

                                          func (cmd *StartTLS) Command() *imap.Command

                                          func (*StartTLS) Parse

                                          func (cmd *StartTLS) Parse(fields []interface{}) error

                                          type Status

                                          type Status struct {
                                          	Mailbox string
                                          	Items   []imap.StatusItem
                                          }

                                            Status is a STATUS command, as defined in RFC 3501 section 6.3.10.

                                            func (*Status) Command

                                            func (cmd *Status) Command() *imap.Command

                                            func (*Status) Parse

                                            func (cmd *Status) Parse(fields []interface{}) error

                                            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.

                                              func (*Store) Command

                                              func (cmd *Store) Command() *imap.Command

                                              func (*Store) Parse

                                              func (cmd *Store) Parse(fields []interface{}) error

                                              type Subscribe

                                              type Subscribe struct {
                                              	Mailbox string
                                              }

                                                Subscribe is a SUBSCRIBE command, as defined in RFC 3501 section 6.3.6.

                                                func (*Subscribe) Command

                                                func (cmd *Subscribe) Command() *imap.Command

                                                func (*Subscribe) Parse

                                                func (cmd *Subscribe) Parse(fields []interface{}) error

                                                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).

                                                  func (*Uid) Command

                                                  func (cmd *Uid) Command() *imap.Command

                                                  func (*Uid) Parse

                                                  func (cmd *Uid) Parse(fields []interface{}) error

                                                  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