Документация паршивая у вашего sendgrid, но думаю, что нужно до html варианта письма добавить текстовый:
body = params.get('body')
txt_body = ... # перевести в текст, например через html2text: https://pypi.org/project/html2text/
message.add_content(txt_body , 'text/plain')
message.add_content(body, 'text/html')
Хмм, ну, учитывая, что заголовки ничего подозрительного не показывают, возможно ипшник или адрес/домен попал в черные списки, или же гуглу просто не понравилось содержимое.