You will probably have to setup the software to send as someone else, as you're software doesn't support authentication. You could setup an intermediary server that only accepts incoming connections from these servers, then forwards those e-mails into Google's servers using authenticated SMTP submission.
In your case, I would simply setup the software to send e-mail as $email@example.com and whitelist the domain "mydomain.com.local" so the e-mails are sure to avoid the junk folder.
You could also add every server to your SPF record (assuming you have less than 10 servers; there's a 10 record lookup limit on SPF). This method is quite limiting and assumes you're going to update SPF every time a server is added, changes IPs, is removed, etc.
After moar caffeine I realized your SPF Record is slightly wrong. You probably meant for it to be
v=spf1 mx -all (this is the "correct" record for 90%+ domains and simply says that the mail servers that receive e-mail for the domain are the servers that send e-mail for the domain too). If you wanted to add the servers as in Edit #1, it might look something like
v=spf1 mx a:server01.example.com -all or
v=spf1 mx ip:18.104.22.168 -all.