簡體   English   中英

SendGrid 發送類型 text/plain 和 text/html

[英]SendGrid send type text/plain and text/html

我有一項發送 email 的服務,那里一切正常,但我需要發送兩種類型的電子郵件text/htmltext/plain 我將此添加到我的代碼中:

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

mail.addContent(htmlContent);

mail.addContent(plainContent);

信件不再來了

@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());
    }
}

我找到了我的問題的答案: {"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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM