package backend // mbox ist das lokale Cold-Backup-Format: eine Datei pro IMAP-Ordner, der // Ordnerbaum 1:1 auf der Platte. eM Client / Thunderbird importieren mbox // direkt. (Kein PST -- das laesst sich in Go nicht lean schreiben.) // MboxWriter haengt Nachrichten an die mbox-Datei eines Ordners an. type MboxWriter struct { // TODO Codex: root-Verzeichnis des Kontos. } // NewMboxWriter legt // an und spiegelt den Ordnerbaum. func NewMboxWriter(dir string) (*MboxWriter, error) { // TODO Codex. return nil, nil } // Append schreibt eine Mail im mbox-Format ("From "-Trennzeile, >From-Quoting) // in .mbox. func (w *MboxWriter) Append(folder string, m RawMessage) error { // TODO Codex. return nil } // --- Viewer-Seite: mbox wieder lesen fuers Browser-Betrachten (08-viewer.go) --- // MboxEntry ist eine Nachricht wie im Listen-Pane angezeigt. type MboxEntry struct { Index int From string Subject string Date string } // ReadMboxList parst die Kopfzeilen aller Mails einer mbox-Datei (fuer die // Nachrichtenliste). ReadMboxMessage liefert eine einzelne Mail als Rohtext. func ReadMboxList(path string) ([]MboxEntry, error) { return nil, nil } // TODO Codex func ReadMboxMessage(path string, index int) ([]byte, error) { return nil, nil } // TODO Codex