aboutsummaryrefslogtreecommitdiffstats
path: root/worker
diff options
context:
space:
mode:
Diffstat (limited to 'worker')
-rw-r--r--worker/maildir/worker.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/worker/maildir/worker.go b/worker/maildir/worker.go
index 3ac8d0b3..ddb1bf68 100644
--- a/worker/maildir/worker.go
+++ b/worker/maildir/worker.go
@@ -733,6 +733,20 @@ func (w *Worker) handleCheckMail(msg *types.CheckMail) {
if err != nil {
w.err(msg, fmt.Errorf("checkmail: error running command: %w", err))
} else {
+ dirs, err := w.c.ListFolders()
+ if err != nil {
+ w.err(msg, fmt.Errorf("failed listing directories: %w", err))
+ }
+ for _, name := range dirs {
+ err := w.c.SyncNewMail(w.c.Dir(name))
+ if err != nil {
+ w.err(msg, fmt.Errorf("could not sync new mail: %w", err))
+ }
+ dirInfo := w.getDirectoryInfo(name)
+ w.worker.PostMessage(&types.DirectoryInfo{
+ Info: dirInfo,
+ }, nil)
+ }
w.done(msg)
}
}