SMTP notes

/docs/gears/developer/middleware-notes/smtp/

Many Apps need to send e-mail to their users, for purposes such as account confirmations, password resets, or notification of certain events.

Sending e-mail is functionality provided by UBOS, and does not need to be performed on an application level. Instead, the App should simply send its outgoing e-mail to the SMTP port on localhost.

In order to declare to UBOS that the App wishes to do that, and to not interfere with other Apps on the same device that may wish to do the same, it should activate an AppConfigItem of type systemd-service with the name smtp-server@<APPCONFIGID>.service where <APPCONFIGID> is the AppConfigId of the application instance.

This will activate a local SMTP daemon (currently postfix) and make sure it does not accidentally get stopped when one (but not all) other Apps using it on this device is undeployed.