Expand description
Inbound mail acceptance — the path that makes domain mail work.
Flow:
- Envelope
RCPT TO/ inject target →crate::domains::resolve_delivery - Body + headers →
crate::mail_rules::evaluate - 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§
- Accept
Result - 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:2525or0.0.0.0:2525). Idempotent if already running on the same bind. - stop_
receiver