For the DNS part, see DNS.
For now this uses OpenSMTPD just because the person implementing that system initially (GNUtoo) already used OpenSMTPD at home, so it was faster as the configurations could be partially reused and the setup compared.
If we want to send mail we would need to implement all that.
We could also whitelist the servers used by the people receiving this mail through this system, through SPF, if we want people to send mail to the same address they received it from (which is probably not very important).
The DNS zones are configured to set the MX to the Replicant vm at the FSF.
useradd -m <lowercase_username>
smtpctl update table aliases
The configuration format changed in newer OpenSMTPD.
We will probably have to migrate the configuration when switching to to Trisquel 9.
TODO: Document the format change.