I stumbled upon this problem. Here is what worked for me:

    $mailer = JFactory::getMailer();
    $mailer->CharSet  = 'UTF-8';
    $mailer->Encoding = 'base64';
    $mailer->AltBody = $alt_body;
    $send = $mailer->Send();

The key point is here:

    $mailer->AltBody = 'Your text version of the email here';

This text message will be sent with the html counterpart and for users that do not wish to see the html version or cannot see it, they will see this text version.

Tested on Joomla 3.7.5
Hope it helps someone. Happy coding!