imapsrv
imapsrv copied to clipboard
An IMAP server written in Go
RENAME is now implemented (`dev` branch currently, but will be merged with `master` as soon as `fetch` is available), but requires some special attention w.r.t. the `INBOX` mailbox. ``` Renaming...
Arguments: sequence set message data item names or macro Responses: untagged responses: FETCH Result: OK - fetch completed NO - fetch error: can't fetch that data BAD - command unknown...
Let's say we have one e-mail account `[email protected]`. If we want to store e-mail from this e-mail address, we should configure the MTA (Postfix in this example) to receive this...
I would like to discuss https://github.com/alienscience/imapsrv/blob/fetch/mailstore.go#L64-L74 : ``` go // An IMAP message type Message interface { // Get the message flags Flags() (uint8, error) // Get the date of...
We should find a way to defend the server against bruteforce password attacks at the LOGIN command. The way I currently tried to implement it (see #26 and #9), already...
According to #29 I've implemented a way for our server to receive incoming emails from Postfix (SMTP server), using the LMTP protocol. This means we can serve actual emails to...
In order to get e-mails we can actually serve to client using the IMAP protocol, we should receive e-mail from the SMTP server. I have seen Postfix (a SMTP server)...
Presently, logins are mocked up and hard coded for testing purposes: (command.go, line 51ish) > // TODO: implement login > if c.userId == "test" { > sess.st = authenticated >...
The lexer and parser are likely to have more bugs in them. It would be good to have a test that throws valid and invalid commands at the lexer/parser and...