The solution was fairly straightforward and involves only a vpn and lightly modified postfix on the pve.
It isn't exactly as the diagram specifies since no emails traverse the pmg public ip, only the pve ip which has reverse ptr
I know there are other, perhaps better methods but this one leaves iptables untouched
If you have any suggestions or spot errors/omissions/simplifications or want more details, please add a comment
1. Optionally configure a dedicated subnet or similar. I created a new host only bridge since these exist as unprivileged containers
1. Configure wireguard in the pmg network. This one got it's own container
2. Add a permanent route to the wg subnet on pmg
3. Configure wireguard client on the pve including AllowedIPs for the pmg subnet.
4. Setup postfix on the pve: (shouldn't be able to send mail to the internet directly, but does send local mail to pmg:26)
a. add public ip and wg client ip to mynetworks in /etc/postfix/main.cf
b. add the pmg host name and port 25 to /etc/postfix/transport and that transport_maps references that
c. make sure mydestination includes the mail mx as it is in the dns records
d. add public ip; wg ip and localhost to inet_interfaces
e. set myhostname to the mx name as it is in the dns records
f. set the domain name in relay_domains
g. edit /etc/aliases so that root mail is in the pmg domain
5. Add the reverse ptr record for the pve
6. Set the wg client and the dedicated subnet as a trusted network in pmg
7. Set the pve postfix ip as the smarthost in pmg
It must be said that this pmg was already working only mails were increasingly being denied because pmgs public ip is on pbls.
This solves that problem.