Closed 9ssi7 closed 2 weeks ago
IDLE implementation added.
See RFC from here
Example code:
package main import ( "fmt" "github.com/BrianLeishman/go-imap" ) func main() { imap.Verbose = true im, err := imap.New("<REPLACE_ME>", "<REPLACE_ME>", "imap.gmail.com", 993) if err != nil { panic(err) } err = im.SelectFolder("INBOX") if err != nil { panic(err) } err = im.StartIdle(&imap.IdleHandler{ OnExists: func(event imap.ExistsEvent) { fmt.Println("New email indx:", event.MessageIndex) }, OnExpunge: func(event imap.ExpungeEvent) { fmt.Println("Deleted message:", event.MessageIndex) }, OnFetch: func(event imap.FetchEvent) { fmt.Println("Fetched message:", event.MessageIndex) fmt.Println("UID:", event.UID) fmt.Println("Flags:", event.Flags) }, }) if err != nil { panic(err) } select {} }
IDLE implementation added.
See RFC from here
Example code: