summary refs log tree commit diff stats
path: root/worker/maildir/worker.go
Commit message (Collapse)AuthorAgeFilesLines
* Register worker in init.Reto Brunner2019-07-191-1/+6
| | | | | This allows backends which can't always be compiled due to missing dependencies (say libnotmuch) to be compiled conditionally with buildflags.
* maildir: Watch for new messagesBen Burwell2019-07-171-13/+68
| | | | | | | | When a directory is opened, start watching its "new" subdirectory for incoming messages using the fsnotify library. When creation events are detected, run the Unseen routine to move the message from new to cur and add new UIDs to the store, updating the UI's list of directory contents as we go.
* Implement maildir copyBen Burwell2019-07-121-2/+3
| | | | | Create a delivery in the destination directory with the content of the source message.
* Add maildir backend workerBen Burwell2019-07-121-0/+353
Add the initial implementation of a backend for Maildir accounts. Much of the functionality required is implemented in the go-message and go-maildir libraries, so we use them as much as possible. The maildir worker hooks into a new maildir:// URL scheme in the accounts.conf file which points to a container of several maildir directories. From there, the OpenDirectory, FetchDirectoryContents, etc messages work on subdirectories. This is implemented as a Container struct which handles mapping between the symbolic email folder names and UIDs to the concrete directories and file names.