How Cloudflare Email Workers handle inbound mail at the edge — parsing, forwarding, storage and filtering — with the classic pitfalls to avoid.
Forwarding email without analytics is flying blind. You know mail comes in, but not how much, from where, or how your filters are performing. A self-hosted email forwarding setup can count every decision it makes — and surface it in a panel you control.
Every inbound email passes the same pipeline: parse → match rule → apply filters → forward/store. At the end, the Worker upserts a per-day, per-domain counter into D1. Because counting happens at decision time, blocked and dropped are measured just as accurately as forwarded.
One number you will never see is final delivery — whether the recipient’s mailbox actually accepted the mail. Cloudflare only confirms it accepted the forward. Any service has the same blind spot; the analytics above are the honest, observable subset.
InboxFly includes these analytics out of the box: status totals, per-domain breakdown, 14-day trends, and a storage estimate — all from your own D1 data.
Does InboxFly track opens or clicks? No — it blocks tracking pixels in forwarded mail by default. Analytics are about your pipeline, not your recipients.