I first used spamexperts as a smarthost per domain and manually editing the files.
But most likely switching to Jetemail soon due server wide smarthost and automation using the enhance smarthost config and only spf change needed per domain you can put into the template you use the enhance dkim with a domain.
You can configure a smarthost per server if you want.
Server hostname you always configure.
I do use a smtp user on wordpress almost always but Jetemail also has a wordpress plugin.
If the php e-mail goes directly over the smarthost not tested yet.
There are more smarthosts like mail baby and mailchannels.
I am just telling what I am doing in my situation 😉