https://github.com/emersion/go-imap-quota
QUOTA extension for go-imap
https://github.com/emersion/go-imap-quota
Last synced: about 1 year ago
JSON representation
QUOTA extension for go-imap
- Host: GitHub
- URL: https://github.com/emersion/go-imap-quota
- Owner: emersion
- License: mit
- Created: 2016-06-27T18:09:37.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2021-02-03T12:53:29.000Z (over 5 years ago)
- Last Synced: 2025-04-10T12:16:15.980Z (about 1 year ago)
- Language: Go
- Size: 18.6 KB
- Stars: 7
- Watchers: 3
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-imap-quota
[](https://godoc.org/github.com/emersion/go-imap-quota)
[QUOTA extension](https://tools.ietf.org/html/rfc2087) for [go-imap](https://github.com/emersion/go-imap)
## Usage
```go
package main
import (
"log"
"github.com/emersion/go-imap-quota"
)
func main() {
// Connect to IMAP server
// Create a quota client
qc := quota.NewClient(c)
// Check for server support
if !qc.SupportsQuota() {
log.Fatal("Client doesn't support QUOTA extension")
}
// Retrieve quotas for INBOX
quotas, err := qc.GetQuotaRoot("INBOX")
if err != nil {
log.Fatal(err)
}
// Print quotas
log.Println("Quotas for INBOX:")
for _, quota := range quotas {
log.Printf("* %q, resources:\n", quota.Name)
for name, usage := range quota.Resources {
log.Printf(" * %v: %v/%v used\n", name, usage[0], usage[1])
}
}
}
```
## License
MIT