首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SendGrid发送文本/纯文本和文本/html

SendGrid发送文本/纯文本和文本/html
EN

Stack Overflow用户
提问于 2022-08-31 12:00:02
回答 1查看 235关注 0票数 0

我有一个服务,发送电子邮件和一切工作正常,但我需要发送2种类型的电子邮件text/htmltext/plain。我将此添加到代码中:

Content plainContent = new Content("text/plain", "This is plain content");

mail.addContent(htmlContent);

mail.addContent(plainContent);

信也不再来了

代码语言:javascript
复制
@Override
public void send(Message message) throws IOException {
    Personalization personalization = new Personalization();
    message.getSendTo().forEach(address -> personalization.addTo(new Email(address.getEmail(), address.getName())));

    Content htmlContent = new Content(message.getContentType(), message.getContent());

    Mail mail = new Mail();
    mail.setFrom(new Email(message.getSendFrom().getEmail(), message.getSendFrom().getName()));
    mail.addPersonalization(personalization);
    mail.setSubject(message.getSubject());
    mail.addContent(htmlContent);


    Request request = new Request();
    request.setMethod(Method.POST);
    request.setEndpoint("mail/send");
    request.setBody(mail.build());
    Response response = sendgrid.api(request);

    if (response.getStatusCode() != 202) {
        throw new RuntimeException(response.getBody());
    }
}
EN

回答 1

Stack Overflow用户

发布于 2022-08-31 15:29:03

我找到了我的问题的答案:{"errors":[{"message":"If present, text/plain must be first, followed by text/html, followed by any other content.","field":"content" ,"help":null}]}

简单地交换setContent是必要的。

第一mail.addContent(plainContent);

然后是mail.addContent(htmlContent);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73555591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档