将样式应用于 SendGrid Web API 中的 html 电子邮件

Applying styling to html email in SendGrid Web API

我正在使用 POST 从 SendGrid 的 Web API 发送电子邮件。 HTML 电子邮件正文具有与之关联的样式。

String body = 'api_user=username&api_key=pwd&to[]=user@email.com&subject=Message from SendGrid&html={text}&from=user2@email.com';

    body = body.replace('{text}', emailBody);
    HttpRequest req = new HttpRequest();
    req.setEndpoint('https://api.sendgrid.com/api/mail.send.json');
    req.setMethod('POST');
    req.setbody(body);
    Http http = new Http();
    HTTPResponse response = http.send(req);

但是当收到电子邮件时,它根本没有正文,none。如果我从 p 和 div 中删除内联 CSS,则会呈现主体。如何在 HTML 正文中保持样式完整?还有其他办法吗?

我的直觉是这与 'style="'

中的“=”有关

尝试 URL 编码电子邮件正文:

body = body.replace('{text}', encodeURIComponent(emailBody));