// Package smtp implementiert ING-03s SMTP-Server (RFC 5321) für // eingehende Mails: HELO/EHLO, MAIL FROM, RCPT TO, DATA, RSET, QUIT. // Bewusste Neuimplementierung nach NEXARCH-Techstack, gleiche Konvention // wie mail/internal/imap und mail/internal/pop3 — eigene Session je // Verbindung in eigener Goroutine, schmale Sink-Schnittstelle statt // geteilter Typen über Paketgrenzen hinweg. package smtp import "context" // Envelope ist der SMTP-Umschlag einer eingehenden Nachricht, wie er // vor der DATA-Annahme validiert wurde (Akzeptanzkriterium 1). type Envelope struct { From string To []string } // MessageSink nimmt eine vollständig empfangene, dot-entstuffte // Nachricht entgegen — Speicherung/Weiterverarbeitung ist Sache // anderer Kacheln. type MessageSink interface { Accept(ctx context.Context, envelope Envelope, raw []byte) error }