feat(PROJ-26): IMAP-Archive-Server Read-Only Zugriff auf archivierte Mails
- Neues Package internal/imapserver: vollständiger IMAP4rev1-Server (~700 Zeilen) - Auth via bcrypt (userstore.VerifyPassword), Multi-Tenant-Isolation - INBOX + INBOX/LabelName Ordnerstruktur - FETCH mit BODY[], ENVELOPE, RFC822.SIZE, INTERNALDATE, FLAGS, UID - SEARCH: ALL, FROM, TO, SUBJECT, SINCE, BEFORE + UID FETCH/SEARCH - Read-Only: STORE, DELETE, COPY, MOVE, APPEND → NO [CANNOT] - \Seen-Flag nicht persistent (GoBD-konform) - Max 5 gleichzeitige Verbindungen pro User, 30min Idle-Timeout - Audit-Log: imap_login / imap_login_failed Events - Config: imap_server.enabled + imap_server.bind (default: 127.0.0.1:1143) - Externe Ports: 9993 (primär) und 993 (alternativ) via nginx TLS-Terminierung Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+15
-8
@@ -21,14 +21,21 @@ type APIConfig struct {
|
||||
|
||||
// Config is the full application configuration loaded from YAML.
|
||||
type Config struct {
|
||||
Server ServerConfig `yaml:"server"`
|
||||
Storage StorageConfig `yaml:"storage"`
|
||||
Database DatabaseConfig `yaml:"database"`
|
||||
SMTP SMTPConfig `yaml:"smtp"`
|
||||
API APIConfig `yaml:"api"`
|
||||
Index IndexConfig `yaml:"index"`
|
||||
Audit AuditConfig `yaml:"audit"`
|
||||
Logging LoggingConfig `yaml:"logging"`
|
||||
Server ServerConfig `yaml:"server"`
|
||||
Storage StorageConfig `yaml:"storage"`
|
||||
Database DatabaseConfig `yaml:"database"`
|
||||
SMTP SMTPConfig `yaml:"smtp"`
|
||||
API APIConfig `yaml:"api"`
|
||||
Index IndexConfig `yaml:"index"`
|
||||
Audit AuditConfig `yaml:"audit"`
|
||||
Logging LoggingConfig `yaml:"logging"`
|
||||
IMAPServer IMAPServerConfig `yaml:"imap_server"`
|
||||
}
|
||||
|
||||
// IMAPServerConfig holds settings for the embedded read-only IMAP archive server.
|
||||
type IMAPServerConfig struct {
|
||||
Enabled bool `yaml:"enabled"`
|
||||
Bind string `yaml:"bind"` // default: "127.0.0.1:1143"
|
||||
}
|
||||
|
||||
// ServerConfig holds port settings for the main services.
|
||||
|
||||
Reference in New Issue
Block a user