- Added smtpd.ErrNotExist to make detecting missing message easier
- Return 404 instead of 500 when requesting a non-extistant message
- More REST unit tests
- Add new configuration option [datastore]mailbox.message.cap
- Modify filestore to enforce message cap if value > 0
- Filestore unit tests for message cap when enabled & disabled
- Change to DataStore.Mailbox.NewMessage() interface to allow error
return
- Removed extra message object from ReadBody() return type
- We now use enmime's GetHeader() when building the GOB, this will get
us alternate character set decoding for the From and Subject headers.
- Added a swaks test with a utf-8 subject line
- Refactor datastore such that we have a FileDataStore that implements
the DataStore interface.
- Add in missing SMTP configuration options: max recips, max idle, max
message size
- Add retention options to config
Added a new layer where we take the first 4 chars of the mailbox hash
and use it to create directories. Should prevent us from having a
million directories under "mail" directly.