go-imap
go-imap copied to clipboard
📥 An IMAP library for clients and servers
## Broken The way channels are used makes it so updates are only sent to the first client. See https://github.com/emersion/go-imap/pull/336 ## Racy We read from the connection context: https://github.com/emersion/go-imap/blob/3bc38e360e3c75d52e3e2c60f3597369154ec4b4/server/server.go#L331 However...
Ref https://github.com/emersion/go-imap/issues/337#issuecomment-594458545
Specification: https://tools.ietf.org/html/rfc5032 I believe it should be possible to implement it without backend changes.
Hey! I tried to follow [@emersion's advice](https://github.com/emersion/go-imap/issues/310#issuecomment-563174474) and addressed #310 by copying the internal `MailboxStatus` before returning its pointer. This change can introduce breaking behavior (e.g. a library user was...
The current `client.locker` is not enough to protect from race conditions when accessing mailbox properties, either via `client.Mailbox()` or via `
[Section 5.5 of RFC 3501](https://tools.ietf.org/html/rfc3501#section-5.5) allows clients to support multiple commands at once. One use case is to send multiple FETCH commands all at once, and process the responses as...
I am working on the maildir-based backend that uses BoltDB for caches and metadata. BoltDB DB is created per mailbox. backend.Mailbox implementation opens it on demand, but it also needs...
trying to fix following error: ``` Oct 22 15:19:31 speedy imap-tags[27635]: imap/server: 2019/10/22 15:19:31 cannot send response: write tcp A:143->B:1797: write: broken pipe Oct 22 15:19:31 speedy imap-tags[27635]: imap/server: 2019/10/22...
error handling have been extended with 1.13, maybe it makes sense to apply these new options. I'm struggling with some weird and unexpected disconnects from Gmail side and will a...
if `log.Println(to)` => `"[]"` then `to[0].Address`=> causes the thread to stall (no error) This scenario is possible on some emails with only BBC I expected an error in this scenario...