Repository navigation
docs(readme): document SMTP relay setup for e-mail alerts - #40
Conversation
Home servers usually cannot deliver mail directly. Adds a step-by-step smarthost section: app-password authentication entered by the admin, the postfix settings (SASL, TLS, envelope rewriting, IPv4), the root alias and a verification with a real status=sent log line. Lists the failure modes seen in practice: non-app password, deferred delivery without an IPv6 route, and the provider rewriting the From header. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a184084b79
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt" \ | ||
| "sender_canonical_classes = envelope_sender" \ | ||
| "sender_canonical_maps = regexp:/etc/postfix/sender_canonical" \ | ||
| "inet_protocols = ipv4" |
There was a problem hiding this comment.
Apply the IPv4-only setting conditionally
On hosts with working IPv6, this recipe still sets inet_protocols = ipv4; after the subsequent restart, Postfix stops listening on IPv6 and no longer attempts IPv6 delivery, so existing clients configured to submit through ::1 or hosts receiving mail over IPv6 can break. Since the text identifies this only as a workaround for hosts without a usable IPv6 route, omit it from the baseline block and present it as a conditional troubleshooting step.
Useful? React with 👍 / 👎.
Summary
The README explained
HEALTH_MAIL_TObut not how to make a Proxmox host deliver mail at all — the part that actually blocks e-mail alerts at home. New subsection Relaying through an external SMTP provider under Health monitoring & alerts:libsasl2-modulesis not installed by default)postconf -eblock: SASL,smtp_tls_security_level = encrypt, envelope-sender rewriting,inet_protocols = ipv4root:alias so Proxmox's own notifications take the same pathpman --test-notifyplus the journal line, including a screenshot of a realstatus=sentdelivery (recipient redacted)534 5.7.9),status=deferred/Network is unreachablewithout an IPv6 route, and the provider replacing theFromheader (use a plus address to filter)Quick start step 1 links to the new section.
Verification
All steps were run on a PVE 9.2.20 node (Debian 13, postfix 3.10.13) before documenting them;
pman --test-notify, a plain test mail and mail torootwere each delivered with250 2.0.0 OK.markdownlint-cli2 README.md→ 0 errors🤖 Generated with Claude Code