Skip to main content

Module mail_inbound

Module mail_inbound 

Source
Expand description

Inbound mail acceptance — the path that makes domain mail work.

Flow:

  1. Envelope RCPT TO / inject target → crate::domains::resolve_delivery
  2. Body + headers → crate::mail_rules::evaluate
  3. If deliver → crate::mail_store::store_delivery

Also runs a local SMTP receiver (default 127.0.0.1:2525) so mail can land without a paid mailbox product. Public internet delivery still needs DNS MX + a tunnel/VPS to your host (port 25 is often blocked on residential links) — but the product inbox is yours, local, and rule-bearing.

Structs§

AcceptResult
Outcome of accepting one message (for API / UI).

Constants§

DEFAULT_SMTP_BIND
Default bind for the personal SMTP edge (submission-style port; avoid privileged 25).

Functions§

accept_message
Accept a message for a registered domain mailbox — pure product path (no network).
mail_dns_forms
DNS records a human pastes so the internet can find this receiver. Host is optional public hostname (MX target); when empty, placeholders are used.
receiver_status
Status of the local SMTP receiver.
start_receiver
Start the local SMTP receiver on bind (e.g. 127.0.0.1:2525 or 0.0.0.0:2525). Idempotent if already running on the same bind.
stop_receiver