start-asb.service should not start up if start-monero-wallet-rpc.service failed on startup.
This dependency is better expressed with Requires than with After because Requires will not start the unit upon failure of the required one.
The unit-status-email@.service allows being triggered through multiple services with @.
Note that everything after the @ is passed to the unit-status-email@.service as parameter.
We pass the complete service name OnFailure using %n.
The parameter can then be accessed by %i within the unit-status-email@.service.
Hence, to pass the service name to our email script for processing we use %i within unit-status-email@.service.