https://github.com/emersion/go-imap-compress
The IMAP COMPRESS Extension for go-imap
https://github.com/emersion/go-imap-compress
Last synced: about 1 year ago
JSON representation
The IMAP COMPRESS Extension for go-imap
- Host: GitHub
- URL: https://github.com/emersion/go-imap-compress
- Owner: emersion
- License: mit
- Created: 2016-05-28T11:28:21.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2020-11-03T19:02:59.000Z (over 5 years ago)
- Last Synced: 2025-04-10T12:16:15.817Z (about 1 year ago)
- Language: Go
- Size: 14.6 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-imap-compress
[](https://godoc.org/github.com/emersion/go-imap-compress)
The [IMAP COMPRESS Extension](https://tools.ietf.org/html/rfc4978) for [go-imap](https://github.com/emersion/go-imap)
## Usage
```go
package main
import (
"log"
"github.com/emersion/go-imap/client"
"github.com/emersion/go-imap-compress"
)
func main() {
log.Println("Connecting to server...")
// Connect to server
c, err := client.DialTLS("mail.example.org:993", nil)
if err != nil {
log.Fatal(err)
}
log.Println("Connected")
// Don't forget to logout
defer c.Logout()
// Login
if err := c.Login("username", "password"); err != nil {
log.Fatal(err)
}
// Enable compression if possible
comp := compress.NewClient(c)
if ok, err := comp.SupportCompress(compress.Deflate); err != nil {
log.Fatal(err)
} else if ok {
if err := comp.Compress(compress.Deflate); err != nil {
log.Fatal(err)
} else {
log.Printf("Compression enabled: %t", comp.IsCompress())
}
}
// Continue using c with compression enabled
}
```
## License
MIT