1package main23import (4 "errors"5 "os"6 "path/filepath"7)89func isMaildirFn(name string) bool {10 return name == "new" || name == "cur" || name == "tmp"11}1213func isValidMaildir(dir string) bool {14 for _, fn := range []string{"new", "cur", "tmp"} {15 _, err := os.Stat(filepath.Join(dir, fn))16 if errors.Is(err, os.ErrNotExist) {17 return false18 }19 }2021 return true22}2324func getDir(path string) string {25 dir := filepath.Base(filepath.Dir(path))26 if !isMaildirFn(dir) {27 panic("unexpected non-maildir folder")28 }2930 return dir31}