Sys-svc-mail-smtp Role¶
Description: Loopback-only Postfix relay for lightweight outbound mail delivery via localhost when no central mail stack runs
Variables¶
author: Kevin Veen-Birkenbach
description: Loopback-only Postfix relay for lightweight outbound mail delivery via localhost when no central mail stack runs
license: Infinito.Nexus Community License (Non-Commercial)
company: Kevin Veen-Birkenbach https://www.veen.world
min_ansible_version: 2.9
platforms: [{‘name’: ‘ArchLinux’, ‘versions’: [‘all’]}, {‘name’: ‘Debian’, ‘versions’: [‘all’]}, {‘name’: ‘EL’, ‘versions’: [‘all’]}, {‘name’: ‘Fedora’, ‘versions’: [‘all’]}, {‘name’: ‘Ubuntu’, ‘versions’: [‘all’]}]
galaxy_tags: [‘email’, ‘smtp’, ‘postfix’, ‘relay’, ‘monitoring’, ‘automation’, ‘archlinux’]
issue_tracker_url: https://s.infinito.nexus/issues
README¶
sys-svc-mail-smtp¶
Description¶
sys-svc-mail-smtp role configures a local SMTP relay using
Postfix, listening exclusively on
localhost.localhost:25 without additional configuration.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.
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), orFall back to this role (
sys-svc-mail-smtp) and send vialocalhost.
Cosmos¶
The diagram places sys-svc-mail-smtp in the Infinito.Nexus cosmos: the components it deploys (capabilities), the central services it consumes (dependencies), and its outward reach (federation and bridged external networks).
flowchart LR
subgraph role [sys-svc-mail-smtp 💻]
svc_svc_mail_smtp["svc-mail-smtp"]
endSolid 1:1 edges are fixed relationships; dashed 0..1 edges are
conditional (enabled only in matching deployments); red 0..0 edges
are turned off in this role. Node markers show the role’s deploy modes
(💻 host, 🐳 compose, 🐝 swarm); ❌ marks a service that is explicitly
turned off, and ⚙️ an Ansible role dependency declared in
meta/main.yml.
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.
🔒 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.
🚫 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.
🧩 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.
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
Credits¶
Implemented by Kevin Veen-Birkenbach. Part of the Infinito.Nexus Project and maintained by Kevin Veen-Birkenbach. Licensed under the Infinito.Nexus Community License (Non-Commercial).