Interface ISpamScanner
- Namespace
- MailFathom.Application.Spam.Scanning
- Assembly
- MailFathom.Application.dll
Scores one whole message against a scanner's rule corpus.
public interface ISpamScanner
Remarks
The port is application-owned and narrow on purpose. It takes the raw RFC 822 message and answers with a score, a threshold, the names of what fired, and the corpus those came from; no protocol type, socket type, or scanner vocabulary crosses it in either direction. What sits behind it is a deployment decision, and the deployment that registers nothing is the default — the deterministic stage works alone, so an unimplemented port costs a classification its second opinion and nothing else.
An implementation sends the whole message to a scanner, which is a processing decision an operator has to have taken
deliberately: the content is personal data and the scanner is a separate process. It reads content that is already
stored locally, so it opens no IMAP session and cannot affect a remote \Seen flag, and it must bound its own
call — a scanner that stops answering degrades a signal rather than stalling a run.
Methods
- ScanAsync(StoredEmailContent, CancellationToken)
Scores one message.