pub fn evaluate_plan<F: Filterable + ?Sized>(
rules: &[FilterRule],
msg: &F,
ctx: &EvalContext<'_>,
regex_cache: &RegexCache,
) -> EvalOutcomeExpand description
Evaluate rules against a message and resolve them into execution-ready outcomes.
Like collect_matches this is
first-match-wins, but the returned plan additionally resolves the
actions that need runtime context:
vacation: the reply-to sender is taken from envelope data (falling back to the header From address); the subject defaults toRe: <original subject>; a reply already sent (perEvalContext::seen_before) suppresses the outcome, and an unroutable reply emitsEvalWarning::VacationNoSender.notify: unrecognized method schemes emitEvalWarning::UnknownNotifyMethod.
Pure and synchronous: no I/O, never panics.