Mail-Graveyard/backend/06-mbox.go
2026-07-05 17:58:25 +02:00

38 lines
1.3 KiB
Go

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 <mboxRoot>/<account>/ 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 <ordner>.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