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

时间:2016-01-18 10:54:26

标签: css html-email styling sendgrid

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

Screenshot of the email body

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);

然而,当收到电子邮件时,它没有正文,根本没有。如果我从p和div中删除内联CSS,则渲染正文。如何在HTML正文中保持样式完整?还有其他办法吗?

1 个答案:

答案 0 :(得分:2)

我的预感是,这与' ='有关。在' style ="'

尝试使用URL编码emailBody:

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