github.com/jordwest/imap-server@v0.0.0-20200627020849-1cf758ba359f/conn/command_select.go (about) 1 package conn 2 3 import "fmt" 4 5 func cmdSelect(args commandArgs, c *Conn) { 6 if !c.assertAuthenticated(args.ID()) { 7 return 8 } 9 10 var err error 11 c.SelectedMailbox, err = c.User.MailboxByName(args.Arg(0)) 12 if err != nil { 13 fmt.Fprintf(c, "%s NO %s\r\n", args.ID(), err) 14 return 15 } 16 c.SetState(StateSelected) 17 c.SetReadWrite() 18 19 writeMailboxInfo(c, c.SelectedMailbox) 20 c.writeResponse(args.ID(), "OK [READ-WRITE] SELECT completed") 21 }