Antispam: online checks no longer switch off Bayes; replies teach ham
- The "online reputation checks" rspamd profile used groups_enabled, which means ONLY those groups: with the switch on, a message got the RBL lookups alone (1 rule instead of 19, score 0.00) and Bayes never ran, so every spam lesson was ignored. It now disables nothing. - A reply or reply-all teaches the answered message as ham (not forwards or new mail, not one's own Sent/Drafts, never over an explicit spam mark; once per message). message.sent now carries the draft's kind and reply_to_message_id. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -338,6 +338,12 @@ async def send_job(ctx: dict[str, Any], outbox_id: str) -> None:
|
||||
# need to read the outbox row. payload to/cc are "Name <email>" strings.
|
||||
"to": _addr_dicts(draft.payload.get("to")),
|
||||
"cc": _addr_dicts(draft.payload.get("cc")),
|
||||
# What it answers: "reply" / "reply_all" / "forward" / "new", and the
|
||||
# message (a reply says the user wanted that mail — antispam learns it).
|
||||
"kind": draft.kind,
|
||||
"reply_to_message_id": (
|
||||
str(draft.reply_to_message_id) if draft.reply_to_message_id else None
|
||||
),
|
||||
},
|
||||
)
|
||||
await bus.publish(
|
||||
|
||||
Reference in New Issue
Block a user