email-mcp/internal/imapclient/types.go
2026-04-10 11:17:36 +02:00

35 lines
775 B
Go

package imapclient
import (
"context"
"email-mcp/internal/secretstore"
)
type Mailbox struct {
Name string `json:"name"`
}
type MessageSummary struct {
UID uint32 `json:"uid"`
Subject string `json:"subject"`
From string `json:"from"`
}
type Header struct {
Name string `json:"name"`
Value string `json:"value"`
}
type Message struct {
UID uint32 `json:"uid"`
Mailbox string `json:"mailbox"`
Headers []Header `json:"headers"`
Body string `json:"body"`
}
type Backend interface {
ListMailboxes(context.Context, secretstore.Credential) ([]Mailbox, error)
ListMessages(context.Context, secretstore.Credential, string, int) ([]MessageSummary, error)
GetMessage(context.Context, secretstore.Credential, string, uint32) (Message, error)
}