github.com/jordwest/imap-server@v0.0.0-20200627020849-1cf758ba359f/conn/command_status.go (about)

     1  package conn
     2  
     3  import "fmt"
     4  
     5  func cmdStatus(args commandArgs, c *Conn) {
     6  	if !c.assertAuthenticated(args.ID()) {
     7  		return
     8  	}
     9  
    10  	mailbox, err := c.User.MailboxByName(args.Arg(0))
    11  	if err != nil {
    12  		c.writeResponse(args.ID(), "NO "+err.Error())
    13  		return
    14  	}
    15  
    16  	c.writeResponse("", fmt.Sprintf("STATUS %s (UIDNEXT %d UNSEEN %d)",
    17  		mailbox.Name(), mailbox.NextUID(), mailbox.Unseen()))
    18  	c.writeResponse(args.ID(), "OK STATUS Completed")
    19  }