GMail incorrecly marks solicited emails as spam when sending with Amazon SES and PHP List
After long time I have found the problem.
And the problem is... Gmail.
Gmail was incorrectly parsing the SPF record. The record itself was correct and it was validating correctly in ie. mxtoolbox. It was also validating correctly in Gmail (yeah, look at the listings in first post about validation results).
However, checking it with Google's MX checker https://toolbox.googleapps.com/apps/checkmx/ was giving 'unable to parse' error. I modified it. The correct outcome of MX check should be:
SPF must allow Google servers to send mail on behalf of your domain.
providing you don't use GSuite.
After this change deliverability instantly increased, and after some time domain reputation also went up.
You should post your message on the Amazon SES forum because the issue comes from Amazon SES IPs being blacklisted not you!
Check your post above and you will see that the Amazon IP your email was sent from is still blacklisted on ZapBL for example: https://mxtoolbox.com/SuperTool.aspx?action=blacklist%3a54.240.7.12&run=toolpage