Smail/server/internal/gopop/action.go

29 lines
826 B
Go

package gopop
type MailInfo struct {
Id int64
Size int64
}
type UidlItem struct {
Id int64
UnionId string
}
type Action interface {
User(session *Session, username string) error
Pass(session *Session, password string) error
Apop(session *Session, username, digest string) error
Stat(session *Session) (msgNum, msgSize int64, err error)
Uidl(session *Session, msg string) ([]UidlItem, error)
List(session *Session, msg string) ([]MailInfo, error)
Retr(session *Session, id int64) (string, int64, error)
Delete(session *Session, id int64) error
Rest(session *Session) error
Top(session *Session, id int64, n int) (string, error)
Noop(session *Session) error
Quit(session *Session) error
Capa(session *Session) ([]string, error)
Custom(session *Session, cmd string, args []string) ([]string, error)
}