mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-12-07 18:05:09 +00:00
sys-svc-mail-smtp 📮
Description
The sys-svc-mail-smtp role configures a local SMTP relay using Postfix, listening exclusively on localhost.
It is designed to be used as a fallback when no central Mailu instance is available, enabling applications and system services to send email via localhost:25 without additional configuration.
For general background on SMTP, see SMTP on Wikipedia.
For details about Postfix itself, see Postfix on Wikipedia.
Overview
This role:
- Installs Postfix via
pacmanon Arch Linux. - Configures it as a loopback-only relay, so it:
- only listens on
127.0.0.1, - does not perform local mailbox delivery,
- and is safe to use as a simple outbound relay for the local host.
- only listens on
- Integrates seamlessly with the
sys-svc-mailandsys-svc-mail-msmtproles in the Infinito.Nexus stack.
Typically, sys-svc-mail decides whether to:
- Use Mailu (via
sys-svc-mail-msmtp), or - Fall back to this role (
sys-svc-mail-smtp) and send vialocalhost.
Purpose
The main goals of this role are:
- Provide a minimal, secure SMTP relay for hosts that do not run a full mail stack.
- Enable
msmtp(and any other sendmail-compatible client) to send mail by talking tolocalhost:25. - Avoid the complexity of a full MTA configuration while still supporting basic outbound notifications.
This is particularly useful for:
- Monitoring nodes,
- Utility hosts,
- Development or test environments without Mailu.
Features
-
💾 Postfix Installation on Arch Linux
- Uses
community.general.pacmanto install thepostfixpackage.
- Uses
-
🔒 Loopback-Only Configuration
- Configures
inet_interfaces = loopback-onlyto restrict the SMTP daemon to127.0.0.1. - Defines
mynetworks = 127.0.0.0/8for safe local relaying.
- Configures
-
🚫 No Local Mailbox Delivery
- Sets
local_transport = error: local delivery disabledto avoid storing mail locally. - Focus is purely on relaying from localhost rather than full MTA behavior.
- Sets
-
🧩 Integration with Infinito.Nexus
- Meant to be driven by
sys-svc-mail, which decides when to enable this relay. - Works hand in hand with
sys-svc-mail-msmtp, which configures msmtp to talk tolocalhost:25when Mailu is not present.
- Meant to be driven by
Further Resources
- SMTP & Mail Transfer:
- SMTP (Wikipedia): https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
- Postfix:
- Official site: https://www.postfix.org/
- Postfix on Wikipedia: https://en.wikipedia.org/wiki/Postfix_(software)
- Related Infinito.Nexus roles:
sys-svc-mail: central mail orchestrationsys-svc-mail-msmtp: msmtp client and sendmail replacement