7fd7b1f1de
The soft fallback is worse than the plan's wording implied: the panel falls back to realm "localhost" while postfix-config.sh falls back to the container hostname, so with the variable unset accounts are written under one realm and looked up under another — SMTP auth fails for every application while the panel looks healthy. The second failure (EHLO = container id, no PTR/SPF match) is invisible entirely. Both are silent and delayed, which is exactly what a log warning cannot fix. Decision: entrypoint.sh refuses to start without the variable, with an explanatory message rather than a one-liner, plus a syntax check on the value. Records why the "panel up with a banner, mail dead" variant was rejected: it contradicts the Phase-4 crashexit invariant, cannot be fixed without a restart anyway, and would let the panel persist SASL accounts under the wrong realm. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>