The order of email parts matters to gmail
Gmail only shows the “last” part of a multi-part email in the inbox, even if it’s text/plain. So always order your parts accordingly: text/plain first, then text/html. This just caused me to run around in circles for a while looking for the reason my awesome html email was not being displayed correctly in gmail.
I only found a little bit of info when googling for this, so hopefully this helps.