Handles IMAP CAPABILITY responses, listing supported capabilities.
// Source: https://github.com/emersion/go-imap | License: MIT | Copyright 2013 The Go-IMAP Authors
// Provided via justclaw.it.com; keep this notice with the code.
package imapserver
import (
"fmt"
"github.com/emersion/go-imap/v2"
"github.com/emersion/go-imap/v2/internal/imapwire"
)
func (c *Conn) handleCapability(dec *imapwire.Decoder) error {
if !dec.ExpectCRLF() {
return dec.Err()
}
enc := newResponseEncoder(c)
defer enc.end()
enc.Atom("*").SP().Atom("CAPABILITY")
for _, c := range c.availableCaps() {
enc.SP().Atom(string(c))
}
return enc.CRLF()
}
// availableCaps returns the capabilities supported by the server.
//
// They depend on the connection state.
//
// Some extensions (e.g. SASL-IR, ENABLE) don't require backend support and
// thus are always enabled.
func (
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key