Forwarded mail

Much of the mail a small business wants processed does not arrive directly: an owner forwards a customer's message from their phone, or a mailbox rule at Gmail or Outlook forwards everything to an address here. The platform recognises both, records who really wrote the message and who passed it on, and lets each bucket decide whom to trust.

What is recognised

ShapeHow it arrivesWhat is recovered
AutomaticA mailbox rule or alias forwards on behalf of its owner. The original From header survives; the envelope sender is the forwarding mailbox, often rewritten (SRS); markers such as X-Forwarded-For, Resent-From or an ARC chain are present.Original sender from the From header, forwarder from the envelope or markers, the earlier hop's authentication results from ARC-Authentication-Results when present.
ManualA person presses Forward. The forwarder is the From header; the original headers are quoted in the body ("Forwarded message", "Begin forwarded message", "Original Message", and localised forms).Original sender, subject and date from the quoted block.
AttachedThe client attaches the original as a message/rfc822 part.Original sender, subject and date from the attached message's headers; its text becomes a document.

get_message shows forward with the kind, the forwarder, the recovered original sender, and the evidence: which markers led to the conclusion, so a person can check.

Trust is per bucket

Recovery is evidence, not authority. By default a forwarded message is simply from whoever delivered it: for a manual forward that is the person who forwarded; for an automatic forward the From header, which the forwarding mailbox could have altered.

A bucket names the forwarders it trusts in its policy:

{ "policy": { "forwarders": ["office@acme-plumbing.example", "@acme-plumbing.example", ".mail.example"] } }

Entries are an address, @domain, or .domain for the domain and its subdomains. For a message forwarded by a trusted forwarder, that bucket's rule, extractors and records use the recovered original sender: sender, sender_domain, and mailbox extractors on from all mean the author. The classification says senderUsed: "original" when that happened. Every other bucket sees the message as from the forwarder.

Trusting a forwarder means trusting it not to tamper with the original-sender information it relays. Authentication results always belong to the hop that delivered to us; the earlier hop's results, when an ARC chain carried them, are shown separately as originalAuth and never substituted.

Rules about forwarding

Forwarding rules from Gmail and Outlook

When you set a mailbox to forward into mximp, the provider first sends a confirmation to the destination address. The platform recognises it, holds it as a forwarding_verification task, and puts the confirmation code and link in the task and in the ingest result's next hints, so your agent can read the code without a person opening a mailbox. Enter it in the forwarding mailbox's settings, then resolve_task.

Once forwarding is running, tell the address who to expect: set_address_forwarders with the forwarding mailbox (office@acme.example) or its domain. Mail arriving at that address from anyone else is flagged unexpected_sender and held by default, which keeps a forwarded stream as trustworthy as a per-relationship address. That is separate from a bucket's policy.forwarders, which decides whose original-sender information a bucket believes.

Setting it up

  1. Have the mailbox forward to an address on your handle: acme.claims@mximp.com.
  2. Ingest one forwarded message and read get_messageforward to see what was recovered and from what evidence.
  3. Add the forwarder to the bucket's policy.forwarders with update_bucket, then reprocess_message.
  4. promote_to_test the result, so the trust and the extractors stay covered.

This page as Markdown.