我使用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);
然而,当收到电子邮件时,它没有正文,根本没有。如果我从p和div中删除内联CSS,则渲染正文。如何在HTML正文中保持样式完整?还有其他办法吗?
答案 0 :(得分:2)
我的预感是,这与' ='有关。在' style ="'
尝试使用URL编码emailBody:
body = body.replace('{text}', encodeURIComponent(emailBody));