使用带有Java的SendGrid发送电子邮件

时间:2018-09-01 08:53:57

标签: java spring sendgrid

我是软件开发的新手,一直在尝试使用java开发应用程序,以便使用SendGrid发送多内容电子邮件(纯文本和html文件),但我只得到HTML文件。请帮助我解决此问题。这是我的代码。

Email from = new Email("sebatti20@gmail.com");
String subject = "Sending with SendGrid is Fun";
Content content = new Content();
content.setType("text/plain");
content.setValue("This is a simple text");
content.setType("text/html");
content.setValue("This is an HTML text");
Personalization personalization = new Personalization();
Email to = new Email();
to.setEmail("sabbyelavumkal@gmail.com");
personalization.addTo(to);
Email to2 = new Email();
to2.setEmail("jojimathew.mec@gmail.com");
personalization.addTo(to2);
Email Cc = new Email();
Cc.setEmail("sebastianthomas.mec@gmail.com");
personalization.addCc(Cc);
Mail mail = new Mail();
mail.setFrom(from);
mail.setSubject(subject);
mail.addContent(content);
mail.addPersonalization(personalization);
endGrid sg = new SendGrid("SENDGRID API");
Request request = new Request();
try {
    request.setMethod(Method.POST);
    request.setEndpoint("mail/send");
    request.setBody(mail.build());
    Response response = sg.api(request);
    System.out.println(response.getStatusCode());
    System.out.println(response.getBody());
    System.out.println(response.getHeaders());
} catch (IOException ex) {
    throw ex;
}

1 个答案:

答案 0 :(得分:1)

您可以使用HTML覆盖文本内容。
如果两者都想要,您应该这样写:

Content plainContent = new Content("text/plain", "This is a simple text");
Content htmlContent = new Content("text/html", "This is an HTML text");
mail.addContent(plainContent);
mail.addContent(htmlContent);