github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
github ([personal profile] github) wrote in [site community profile] changelog2026-02-16 09:17 pm

[dreamwidth/dreamwidth] bba49e: Add SES incoming email worker and shared processin...

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: bba49ec2ee390e6882eda0b8004c6c57beacad9e https://github.com/dreamwidth/dreamwidth/commit/bba49ec2ee390e6882eda0b8004c6c57beacad9e Author: Mark Smith mark@dreamwidth.org Date: 2026-02-16 (Mon, 16 Feb 2026)

Changed paths: A bin/worker/ses-incoming-email A cgi-bin/DW/IncomingEmail.pm M cgi-bin/DW/Task/IncomingEmail.pm M config/workers.json A t/incoming-email.t

Log Message:


Add SES incoming email worker and shared processing pipeline

Extract email processing logic from DW::Task::IncomingEmail into DW::IncomingEmail so both the legacy TaskQueue worker and the new SES-based worker share the same pipeline. Remove obsolete spam filtering (subject heuristics, body checks, virus signatures, bounce detection) — SES handles this upstream now.

New components: - DW::IncomingEmail: shared processing (MIME parsing, hooks, post-by-email, alias forwarding with From-rewriting, support routing, multi-domain normalization via [profile] lj::INCOMING_EMAIL_DOMAINS) - bin/worker/ses-incoming-email: SQS-polling worker that receives SNS notifications from SES, fetches email from S3, checks SES spam/virus verdicts, and delegates to DW::IncomingEmail - t/incoming-email.t: tests for process flow, From-rewriting with per-sender SHA256 hash, and domain normalization

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications